omohayui blog

おも‐はゆ・い【面映ゆい】[形][文]おもはゆ・し[ク]《顔を合わせるとまばゆく感じられる意》きまりが悪い。てれくさい。

リーダブルコード読書会 1〜3章

第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() ->は軽量なメソッドが期待される