書籍「リーダブルコード」を読みつつ自分用のメモとしてまとめたので、備忘としても残しておく。
第二部 ループとロジックの単純化
7章 制御フローを読みやすくする
- 条件やループなどの制御フローはできるだけ「自然」にする。コードの読み手が立ち止まったり読み返したりしないように書く。
- 条件の並び順の優劣
- 条件は非定型よりも肯定形を使う。例えば、if(!debug)ではなくif(debug)を使う。
- 単純な条件を先に書く。ifとelseが同じ画面に表示されるので見やすい
- 関心を引く条件や目立つ条件を先に書く
- 衝突することがあるので自分で判断する
- 行数を短くするよりも、他の人が理解するのにかかる時間を短くする
- 変更するときにはコードを新鮮な目で見る。一歩下がって全体を見る
8章 巨大な式を分割する
- 巨大な式は飲み込みやすい大きさに分割する
- 「頭がいい」コードに気をつける。あとで他の人がコードを読む時にわかりにくくなる。
- 巨大な式の分割の最も簡単な方法は「説明変数」を導入すること。以下の3つの利点がある
- 巨大な式を分割できる
- 簡潔な名前で式を説明することで、コードを文書化できる
- コードの主要な「概念」を読み手が意識しやすくなる
9章 変数と読みやすさ
この章は下記の問題について考える。
- 変数が多いと変数を追跡するのが難しくなる。
- 変数のスコープが大きいとスコープを把握する時間が長くなる。
- 変数が頻繁に変更されると現在の値を把握するのが難しくなる。
解決は
- 邪魔な変数は削除する。
- 変数のスコープをできるだけ小さくする。
- 一度だけ書き込む変数を使う。