リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
posted with amazlet at 17.08.27
第1章 理解しやすいコード
優れたコードって?
簡潔で短いコード < 理解しやすいコード
例
- 1行にしたことでコードは短くなったけど、カッコがどこにかかっているのがわけわからん。
- コメントをつけた方がよい場合もある
-> 何をしているかより、何のためにしているか(個人談
まとめ
理解しやすいコードを意識しよう
(2章以降を読んで書けるようになろう)
第2章 名前に情報を詰め込む
名前は短いコメントのようなもの
NG)情報の一部を名前にする ↓↓↓ 必要な情報を名前にする
例
- 汎用的な名前を避ける
- メソッド:
get, send, find, start, make
- 変数:
tmp, retval, results
- ループイテレータ:
i, j, k
- メソッド:
- プロジェクト固有の省略形
- 具体的な名前を使う
- 値の単位
- 名前の長さ
- スコープが小さければ短い名前でもいい
- 単語補完のコマンド必須
- 名前のフォーマット
- クラス名:
UpperCamelCase
- メソッド:
lowerCamelCase
- 変数名:
lower_separated
- クラス名:
- 定数:
UPPER_CASE
第3章 誤解されない名前
誤解される名前に気を付けろ
他の意味にとらえられる、曖昧になる名前は使うべからず
例
- 曖昧な名前
filter, Clip(text, length)
- 未満・以下
limit
-> 以下?未満?max
-> 以下!
- 範囲
start, stop
-> stopは範囲内?外?first, last
-> lastは範囲内
- 排他的範囲
begin, end
-> endは範囲外
- ブール値の名前
- true, falseの定義が明確であること
- 頭に
is・has・can・should
等をつける
- ユーザの期待に合わせる
get(), size()
->は軽量なメソッドが期待される