コード整理への別れのあいさつ
- 同僚が一週間ずっと書いていたコードを、夜遅くにチェックインした。
- グラフィックエディタのキャンバス上で図形のサイズを調整する機能を実装した。
- コードは動作したが、繰り返しが多かった。
翌朝...
- 上司から個別に話したいと言われ、コード変更を差し戻すよう求められた。
- 最初は衝撃を受けたが、最終的には上司の判断が正しかったと気づいた。
段階
- 「クリーンコード」に執着し、重複排除に没頭するのは、多くの開発者が経験する段階である。
- コードに自信がないとき、自分の自尊心や職業的な誇りを、測定可能なものに結びつけたくなる誘惑がある。
- 抽象化を学ぶと、繰り返されるコードを見るたびに抽象化を使いたくなる。
GN⁺の見解
- 重要なのは、コードの「きれいさ」を追求すること自体が目的なのではなく、複雑なシステムを扱う過程での一種の防御メカニズムだという点である。
- 「クリーンコード」は、開発者が未知の領域で道しるべを得る助けになるが、それだけに執着せず、手放すことも学ぶ必要がある。
- この記事は、開発者にとってコードの作成と保守の過程における協業と実用性の重要性を思い出させてくれる、興味深い視点を提供している。
1件のコメント
Hacker Newsの意見
「クリーンコード」はブランド改善が必要
コードの重複が時には良いこともあるが、クリーンコードが悪い証拠にはならない
同僚がコピー&ペーストで大量のコードを書いていた
クリーンコード版がダーティーなコードを置き換えた可能性が高い
コード変更時には同僚レビューが必要
金融分野では、似ているが異なる製品を扱うことが多い
Haskellのような言語は、言語レベルで抽象化を最大化する
繰り返される数学計算を別の関数に移すことはクリーンコードに当たる
悪い抽象化についての説明
Rob Pikeは「少しのコピーは少しの依存よりましだ」と述べている