读书笔记-リーダブルコード
《リーダブルコード》读书笔记
The Art of Readable Code
1 理解しやすいコード
読みやすさの基本定理:コードは他人が最短時間で理解できるように書かなければいけない。
2 名前に情報を詰め込む
明確な単語を選ぶ
- 気取った言い回しよりも明確で正確な方がいい
汎用的な名前を避ける
- tmp/retvalなど空虚な名前
- あるいは、使う状況を選ぶ
- ループイテレータ:i/j/k/iterなどより、もっと明確な説明的な名前のほうがよい(e.g. users_i, members_i)
抽象的な名前よりも具体的な名前を使う
名前に情報を追加する
- 名前は短いコメントのようなものだ
- 追加する情報例:フォーマット、単位、危険や注意喚起する情報など
名前の長さを決める
- スコープが小さなければ短い名前でもいい
- 長い名前を入力するのは問題じゃない
- 頭文字と省略形(新しいチームメイトはその名前の意味を理解できるだろうか?)
- 不要な単語を投げ捨てる
名前のフォーマットで情報を伝える
- CamelCase、lower_separated、CONSTANT_NAMEなど
3 誤解されない名前
名前が「他の意味と間違えられることはないだろうか?」と何度も自問自答する
範囲について
- 限界値を含めるときは min/max を使う
- 範囲を指定するときは first/last を使う
[first, last]
- 包含/排他的範囲には begin/end を使う
[begin, end)
ブール値の変数名は頭に is/has/can/should などをつけてわかりやすくする
4 美しさ
一貫性と意味のあるやり方でコードを整形する
- 複数のコードブロックで同じようなことをしていたら、シルエットも同じようなものにする
- コードの「列」を整列すれば、概要が把握しやすくなる
- ある場所でA/B/Cのように並んでいたものを、他の場所でB/C/Aのように並べではいけない。意味のある順番を選んで、常にその順番を守る
- 空行を使って大きなブロックを論理的な「段落」に分ける
5 コメントすべきことを知る
コメントの目的は、書き手の意図を読み手に知らせることである。
コメントするべきでは「ない」こと
- コードからすぐにわかること
- ひどいコードを補う「補助的なコメント」。コメントを書くのではなくコードを修正すべき(優れたコード>ひどいコード+優れたコメント)
記録すべき自分の考え
- なぜコードが他のやり方ではなくこうなっているのか
- コードの欠陥を
TODO:
などの記法を使って示す - 定数の値にまつわる「背景」
読み手の立場になって考える
- コードを読んだ人が「えっ?」と思うところを予想してコメントを付ける
- ハマりそうな罠を告知する、平均的な読み手が驚くような動作は文書化しておく
- ファイルやクラスには「全体像」のコメントを書く
- 要約コメント。読み手が細部に捕まられないように、コードブロックにコメントをつけて概要をまとめる