今日読んだコードは、関数分けがきっちりとされていて非常に読みやすかった。直さなければいけない箇所はたくさんあったものの、こういうコードなら修正時の影響範囲も明確だし、何度読んでも疲れない。
読んでいて疲れるコードは、設計がまずくて各関数の意味が不明確なコード。関数が複雑で依存度が強ければ強いほど、その部分を読むのに考慮しなければいけない事項が増える。一つの関数の定義は、一言で言えて、かつその一言だけで明確に定義されるように収めるのが理想だろう。
例えば、単に配列を入力して変換された配列を返してくるだけの関数でも、「入力パラメータを精査し、エラーの場合は標準出力にエラー文言を含むHTMLを吐く。正常の場合は、ループして全てのデータをDBへロギングをすると同時に、出力用の配列に変換して、そのリファレンスを返します」なんて説明が必要なモノを書いてしまったら、これは疲れるコードの代表例。読む際、どこに主眼を置けばいいのかがさっぱり伝わってこない。