リーダブルコード 第二部

書籍「リーダブルコード」を読みつつ自分用のメモとしてまとめたので、備忘としても残しておく。

第二部 ループとロジックの単純化

7章 制御フローを読みやすくする

  • 条件やループなどの制御フローはできるだけ「自然」にする。コードの読み手が立ち止まったり読み返したりしないように書く。
  • 条件の並び順の優劣
    • 条件は非定型よりも肯定形を使う。例えば、if(!debug)ではなくif(debug)を使う。
    • 単純な条件を先に書く。ifとelseが同じ画面に表示されるので見やすい
    • 関心を引く条件や目立つ条件を先に書く
  • 衝突することがあるので自分で判断する
  • 行数を短くするよりも、他の人が理解するのにかかる時間を短くする
  • 変更するときにはコードを新鮮な目で見る。一歩下がって全体を見る

8章 巨大な式を分割する

  • 巨大な式は飲み込みやすい大きさに分割する
  • 「頭がいい」コードに気をつける。あとで他の人がコードを読む時にわかりにくくなる。
  • 巨大な式の分割の最も簡単な方法は「説明変数」を導入すること。以下の3つの利点がある
    • 巨大な式を分割できる
    • 簡潔な名前で式を説明することで、コードを文書化できる
    • コードの主要な「概念」を読み手が意識しやすくなる

9章 変数と読みやすさ

この章は下記の問題について考える。

  1. 変数が多いと変数を追跡するのが難しくなる。
  2. 変数のスコープが大きいとスコープを把握する時間が長くなる。
  3. 変数が頻繁に変更されると現在の値を把握するのが難しくなる。

解決は

  1. 邪魔な変数は削除する。
  2. 変数のスコープをできるだけ小さくする。
  3. 一度だけ書き込む変数を使う。