リーダブルコード第1部を読んだメモ

O'Reilly Japan - リーダブルコード をざっと読んで気になったところのメモ。

第1部は表面上の改善。

1章 理解しやすいコード

コードは他の人が最短時間で理解できるように書かなければならない

読みやすいコードとか、きれいなコードとか良く使われるけど、 「他人が最短時間で理解できるコード」というのは 分かりやすいと思った。

2章 名前に情報を埋め込む

もっと「カラフル」な単語を探す

例に、makeの代替案としてcreate, set up, build, generate, compose, add, newが書いてあるけど、 これ、どういう時にどれを使えばいいのか全然わからない。俺は雰囲気で単語を書いている。1

3章 誤解されない名前

ブール値に名前をつけるときには、それがブール値だとわかるようにisやhasなどの単語を使う。disable_sslのような否定形は避ける。

Trueで有効になるのか、Falseで有効になるのか、わからなくなることしょっちゅうある。

4章 美しさ

縦の線をまっすぐにすれば、文章に目を通しやすくなる。

列を「整列」させれば、コードが読みやすくなることがある。例えば、前節の CheckFullName() 引数は、空白を使って整列できる。

CheckFullName("Doug Adams"  , "Mr. Douglas Adams" , "");
CheckFullName(" Jake Brown ", "Mr. Jake Brown III", "");
CheckFullName("No Such Guy" , ""                  , "no match found");
CheckFullName("John"        , ""                  , "more than one result");

PythonのPEP8だと警告が出ると思うんだけど、PEP8はそういう方針なんすか?

5章 コメントすべきことを知る

「監督のコメンタリー」を入れる

コードの欠陥にコメントをつける

恥ずかしがってはいけない。

定数にコメントをつける

決め方、決めた根拠などを書いておく。

なにも大量の正式文章を書けと言っているわけではないので、ビビらないでほしい。 短い適切な文章で構わない。何もないよりはマシだ。

たしかに、コメント書く時の俺はなんだかかっこつけてた気がするぜ。