kaito0046 / el-training

Sample app to learn RoR again
https://el-training-kaitofu.herokuapp.com/
MIT License
0 stars 0 forks source link

Fix/variable namings #92

Closed kaito0046 closed 5 years ago

kaito0046 commented 5 years ago

読みやすさの基本定理

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

命名について

名前に情報を詰め込む

明確な単語を選ぶ

Get => 状況や対象に応じてFetch, Downloadなどを選ぶ

汎用的な名前を避ける(あるいは、使う状況を選ぶ)

tmpやretvalなど。ただし明確な理由があれば別(「その変数が一時的なものである」という、名前通りの意味しか持たない場合など)

抽象的な名前よりも具体的な名前を使う

その対象の動作や役割を端的に表す名前をつける。 例:ServerCanStart() => CanListenOnPort()

名前に情報を追加する

変数の意味を意識していないとバグを誘発する箇所には補足情報を追加する。 例:値の単位(byte, ms, secs)、エンコード前後のURL, エスケープ前後の文字列など

名前の長さを決める

スコープの大きさによって変える。影響範囲の広い変数に1~2文字の暗号めいた名前をつけてはいけない。

名前のフォーマットで情報を伝える

誤解されない名前をつける

関数の動作を端的に表現する

例1:filter => あいまいで解釈の余地がある。選択と除外のどちらかによってselect, excludeなどにすべき 例2:Clip(text, length) =>

限界値を含める時

限界値を含めるならばmax, min を使う

範囲を指定する時

first, lastを使う

排他的範囲

begin, endを使う

ブール値の表現