目次
書籍について
タイトル | リーダブルコード より良いコードを書くためのシンプルで実践的なテクニック |
著者 | 著: Dustin Boswell/Trevor Foucher 訳: 角 征典 |
発行日 | 2012/06/22 |
ページ数 | 232ページ |
価格 | 2400円 |
Amazon | https://www.amazon.co.jp/dp/4873115655 |
読了日 | 2017/02/20 |
メモ
- コード品質を高めるためのコーディングテクニックの決定版。プログラマ全員の必読書
- 比較的難読書の多いオライリーにしては読みやすく、そして薄い
- およそ200ページちょっとの中に大量のテクニックが含まれており、読んだだけで意識が高まった
- 久しぶりに国外の本を読んだが、翻訳者さんの軽快でキャラの濃い翻訳のおかげで非常に読みやすい
- コード例は、C++/Java/JavaScript/Ruby/Perl/Pythonと様々だが、言語に依存した内容は殆ど無いので、1言語以上知っていれば問題ない
- 随所に挟まれる、アンチパターンを皮肉った風刺画のような挿絵がステキ。でもアメリカンジョークを理解できない故に挿絵の意味がわからないことも少なからずあった
- コメントに関する考え方は個人的に合わないものが多かった。おそらく、英語を母国語とする人(及び得意な日本人)と、英語が苦手な日本人にとってはコードとコメントの関係性に対する考えが異なるんだと思う
- 巻末の日本人による本書の解説も良かった。やはり日本人には日本人の解説が一番しっくり来る
要約とか
以降では、主に個人的に良いなと思ったものを列挙する。ただしコレだけ見ても説明が足りていないモノがほとんどなので、その場合は必要に応じて本を開くと良い
命名
- 識別子はプログラムの最大の説明書。最適な名前をつけよう
- 汎用的な名前(get/setなど)は避けるか使う状況を選ぶべき
- サフィックスやプレフィックをつけて名前に付加情報を与える
- 名前のフォーマットで情報を伝える
- スコープが広い変数ほど、名前を長く正確につける
美しさ
- 同じような処理は同じようなフォーマットで記述する
- スペースを合わせたりする作業を躊躇わない。読む時間のほうが長いのだから
- 同じようなコードは同じような順番で記述する
- 空行による段落分けを行う
コメントすべきでないこと
- コードからすぐに分かることをコメントにしない
- コメントするためにコメントをしない(手段と目的の逆転)
- コメントは識別子を補助するものではない。補助するぐらいなら識別子を変える
コメントするべきであること
- プログラマのそのコードに対する考え
- コードが特殊な意図で実装されていることについて
- コードの問題点や注意すべきこと
- 入出力のユースケース
制御フローを読みやすく
- 比較式は、左側が変化するモノ、右側が変化しないモノ
- ifの条件式はなるたけ肯定形を使う。if(!hoge)などは避けたい
- 関数から早め早めにreturnする
- ネストを浅くするように心がける
巨大な式を分割
- 複数回登場する巨大な式は、変数で簡素な別名を付けておく
変数と読みやすさ
- 変数のスコープは狭ければ狭いほど良い
- 可能な限り、一つの変数には1回しか代入しない
- 再代入するということの多くは、値の意味が変わるということ。それなら名前も変わってしかるべき