コードの寿命とその影響範囲によって異なる。 きれいなコードは、長期間存在し変更されるコードに対して大きなリターンをもたらす。一方、使い捨てコード、プロトタイプ、またはめったに触らないコードであれば「十分に良い」で十分である。スキルの本質は、投資をその状況に合わせること — ずさんさと金メッキの両方を避けることである。
原則:努力をコードの寿命に合わせる
コード品質は投資であり、他の投資と同様にそのリターンは時間と露出度に依存する。以下の2つの質問を自問する必要がある:
コードの寿命とその影響範囲によって異なる。 きれいなコードは、長期間存在し変更されるコードに対して大きなリターンをもたらす。一方、使い捨てコード、プロトタイプ、またはめったに触らないコードであれば「十分に良い」で十分である。スキルの本質は、投資をその状況に合わせること — ずさんさと金メッキの両方を避けることである。
コード品質は投資であり、他の投資と同様にそのリターンは時間と露出度に依存する。以下の2つの質問を自問する必要がある:
| 失敗 | 外観 | コスト |
|---|---|---|
| ずさんさ | 長く存在するコードに汚れたコードをリリースすること | 将来の変更が遅くなり、バグが増え、コードが劣化する |
| 金メッキ | 問題にならないコードを過度に技術的にする | 時間が無駄になり、時期尚早な抽象化が行われる |
両方とも本当の無駄である。「十分に良い」は意図的で文脈に応じた選択である — ずさんさの言い訳ではなく、永遠にポーランドするためのライセンスでもない。
この質問は、品質を教義的に適用するエンジニアと、それを経済的に適用するエンジニアを分け隔てる。きれいなコードを宗教として扱うことは使い捨てコードへの努力を無駄にする。それを任意のものとして扱うことは依存しているシステムを腐らせる。シニアレベルの判断は、どのようなコードを手にしているのかを知り、それに応じて投資すること、そしてそのトレードオフを説明できることである — これはまさにチームが見たいと思うプラグマティックな思考である。
ジュニアからシニアまで、詳細な回答付きのIT面接質問ライブラリ。
寄付する