どうも、リーダブルコードを読んでいるものです。さて今回は第3章を簡単にまとめておきたいと思います。
結論から言うと「変数や関数の名前は、誤解されることがないような名前をつけよう!」と言うことです。
【リーダブルコードまとめ】第3章:誤解のない名前をつける
他の意味に取られるような名前になっていないか確認
変数名も関数名も、誤解のないような名前をつける必要があります。なぜなら色々な意味にとれてしまうだけで、コードを理解するのに時間がかかるようになってしまうからです。
例えばfilter()などです。filter(“year” <= 2021)となっていた場合、どう読まれる可能性があるかというと、year <= 2021のオブジェクトか、もしくはyear <= 2021ではないオブジェクトのどちらにもとれます。
これはfilterが曖昧な言葉だからこのようなことが起きています。例えば選択するのであればselect()、除外するのであればexclude()にするのが良いです。
また以下のような言葉を使えば、限界値や範囲も表すことができます。
- 限界値はminとmaxを
- 範囲の指定はfirstとlastを
- 含む含まないはbeginとendを
ブールに名前をつけるときはis、can、hasなどをつける
ブール値を扱う変数に名前をつける時は注意が必要です。なぜならtrueやfalseの意味が明確になっていないと誤解を招くことがあるからです。
例えばread_passwordと言うブール値の名前があった時、以下のように解釈できます。
- パスワードをこれから読み取る
- パスワードをすでに読み取っている
ここではreadは避けて、もしこれから読み取るのであれば、need_passwordなどを使った方がいいです。
複数の名前を検討する
誤解のないような名前を複数検討することが、いい名前をつけるポイントになります。以前も出てきましたが類義語辞典を調べて、より変数の名前として適切なものをチョイスするようにしてください。
誰が読んでも誤解されない、またはされにくいものほどいい名前と言えます。つまりあなたがコードを読んでいるときに、コードの意図を正しく理解できる名前ということですね。