リーダブルコード
2章 名前の付け方
・Getなど抽象的なものより明確な単語を選ぶ
・tmpなど汎用的な名前を避ける(変数の目的を名前にする)(役割が情報の一時保管ならまあ)
・i,j,k →インデックス的な名前(member_i や user_iなど mi やui でも)
・変数名に単位を入れる
・変数のスコープ(その名前が見えるコードの行数)が小さければ、変数の中にそこまで情報を詰める必要はない
・グローバル変数などなら、変数名に十分な情報を詰める必要がある
・Do〜〜はあんまり意味ない可能性 DoLoop()とLoop()は同じ
3章 誤解されない名前
名前が他の意味と間違えられないかとときをつける
・しきい値処理にfilterなど使うとどっち取り除くかわからない select()もしくはexclude()などを使って意味を言う
・lengthもどの長さかわからないのでcharsなどとする
・限界値含めるときはminとmax、範囲指定の時はfirstとlast
・bool値は、何がyesで何がnoなのかをちゃんと明示する
4章 美しさ
・コメントを整列させる
・コードを整列させると誤字脱字発見しやすくなる
・宣言をブロックごとにまとめる(最初にコメントでブロックの説明)
・一 貫 性
5章 コメントするべきことを知る
・コードからすぐわかることをコメントに書かない
・関数名変更で代用できるようなコメントをつけない
・コメンタリーを入れる
・定数には「なぜその定数なのか」のコメントをつける
・forループの前などに全体像の要約コメントを入れる
6章 コメントは正確で簡潔に
・目標は、領域に対する情報の比率を高くすること
・実例をコメントで入れることも
・コードの意図を書く
7章 制御フローを読みやすくする
・制御文は普通、左側が調査対象の式で、右側が比較対象の式(変化しないほう) if(10 < length) よりif(length > 10 ) のほうがわかりよい
・リターンは複数用意してもよい
・ネスト(入れ子)を浅くする 自分がどの条件ブロックにいるかをわかりやすく
・失敗ケースを早めにリターンで返すことでネストが減ることが多い