リーダブルコード

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 ) のほうがわかりよい

・リターンは複数用意してもよい

・ネスト(入れ子)を浅くする 自分がどの条件ブロックにいるかをわかりやすく

・失敗ケースを早めにリターンで返すことでネストが減ることが多い