5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

リーダブルコード 第2章 <名前に情報を詰め込む> まとめ

Posted at

#2.1明確な単語を選ぶ
動作に合わせて、より明確な単語を使用する。
例)
get() → DownloadPage(),FetchPage()
stop() → Kill(), Pause()

#2.2汎用的な名前を避ける
良い変数名は、変数の目的や値を表す。
ただし、生存期間が短く、一時保管的な役割の変数には、汎用的な名前を意図的につける場合もある。
ループイテレータに対しても、複数ある場合には明確な名前をつけ判別しやすくすることで、バグを減らせる。

#2.3具体的な名前を使い、物事を詳細に説明する
メソッドであれば、そのメソッドの機能、動作を明確に表現できる名前を定義する。
直行する概念に対しては、まとめようとはせず、それぞれ別の名前をつける。

#2.4変数名に大切な情報を追加する
1.時間、バイト数などの計測できるものは、変数名に単位を追加する。
例)
delay → delay_secs
size → seize_mb
limit → max_kbps
angle → degrees_cw

2.基本的には、変数の意味を理解してほしいところには属性を追加する。
3.特に、変数の意味を誤って解釈しバグになりそうなところで追加する。
例)
password → plaintext_password
comment → unescaped_comment
#2.5スコープの大きな変数には長い名前をつける

識別子のスコープが大きければ、名前に十分な情報を詰め込んで明確にする必要がある

スコープが小さければ短い名前でもいい

必要な情報が近くにあるため。

長い名前を入力するのは問題ではない

エディタの補完機能を使用すれば、正確に素早く利用できる。

頭文字と省略形

チームで共有できる場合に、単語を省略する。
ただし、プロジェクト固有の省略形は使用しない。新しく入るメンバーが読めたいため。

#2.6大文字やアンダースコアなどに意味を含める

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

クラス名はCamelCase(キャメルケース)
変数名はlower_separeted(小文字をアンダースコアで区切ったもの)
規約を定めておけば、メンバー変数とローカル変数を明確に区別できる
例)
stats.clear()
"_"がないため、ローカル変数であるとわかる

#まとめ
「名前に情報を詰め込む」ことで、情報を読み取れるようにする。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?