1章 理解しやすいコード
コードを書く上で一番大切な原則。
コードは理解しやすくなければならない。
読みやすさの基本定理
コードは他の人が最短距離で理解できるように書かなければいけない。
2章 名前に情報を詰め込む
-
明確な単語を選ぶ
- 悪い例) getPage(), int Size(), Stop()
- 良い例) FetchPage(), Height(), Kill()
-
名前に情報を追加する
- 悪い例) int delay, int size, float limit, float angle
- 良い例) int delay_secs, int size_mb, float max_kbps, float degrees_cw
-
不要な単語を投げ捨てる
- 例) ConvertToString() → ToString()
- 例) DoServeLoop() → ServeLoop()
3章 誤解されない名前
名前が「他の意味と間違えられることはないだろうか?」と何度も自問自答する。
-
曖昧な言葉を避ける
- 悪い例)
results =Database.all_objects.filter("year <= 2011")
- 良い例) 選択する場合は select(), 除外する場合は exclude()
- 悪い例)
-
限界値を含めるときは max_ と min_ を使う
- 悪い例) CART_TOO_BIG_LIMIT = 10
- 良い例) MAX_ITEMS_IN_CART =10
4章 美しさ
3つの原則
・読み手が慣れているパターンと一貫性のあるレイアウトを使う
・似ているコードは似ているように見せる
・関連するコードはまとめてブロックする
5章 コメントすべきことを知る
コメントの目的は書き手の意図を読み手に知らせることである。
- コメントするべきでは「ない」ことを知る
悪い例.txt
//このAccountからprofitを返す
double GetProfit();
- 自分の考えを記録する
記法 | 典型的な意味 |
---|---|
TODO: | あとで手をつける |
FIXME: | 既知の不具合があるコード |
HACK: | あまりキレイじゃない解決策 |
XXX: | 危険!大きな問題がある |
- 質問されそうなことを想像する
6章 コメントは正確で簡潔に
- 曖昧な代名詞を避ける
- 悪い例) それ、これ
- 良い例) データ、キャッシュ
- 歯切れの悪い文章を磨く
- 関数の動作を正確に記述する
// このファイルに含まれる行数を返す
int CountLines(string filename){ ... }
// このファイルに含まれる改行文字('¥n')を数える
int CountLines(string filename){ ... }