by shigemk2

当面は技術的なことしか書かない

コードリーディングについて

開発プロジェクトの大半は保守であり、
プロジェクトの期間が長くると、コードを書くのに使う時間と既存コードを理解するために使う時間が同程度になる。
10万行以上のコードを読むことなどザラであり、なぜ読むのに苦労したかを考える。

コードリーディングの苦労から、逆にコードを書くときにどのような工夫をすべきかを考えないといけない。
読み手の苦労を考慮すると、

  • 直交性(2つ以上のものごとで、片方を変更しても他方に影響を与えない)
  • 凝集性(関連性の高いまとまりをモジュール化すること)

に行きつくのだが、こうした方法論ではなく、読み手の苦労を軽減する発想で自然に
到達するほうがよろしいかと思われる。

つまり、

  • イベントドリブンやコールバックなどを利用して敢えて読みにくくする
  • 変更に強いコードを書く(決め打ちなどダメ)
  • コード同士の依存性を弱めて敢えてコードを増やす
  • フレームワークやメタプログラミングでコードを減らす

などさまざまな技法が存在し、100点満点の解は存在しえない。