There are only two hard things in Computer Science:
cache invalidation and naming things.
— Phil Karlton
名前を言えるようになったとたんに、いたる所でそれを見るようになりました
– Robin Williams ノンデザイナーズ・デザインブック
あらゆる機能をデザインする時に、私はその名前にもっともこだわります。プログラマとしてのキャリアの中で、適切な名前をつけることができた機能は成功し、そうでない機能については後で後悔することが多かったように思うからです。
— まつもと ゆきひろ
FooManager
BarHelper
FizzHandler
BuzzInfo
標準ライブラリや利用している外部ライブラリに、
どのようなクラスが定義されているか?
眺めてみるとよいです。
— CODE COMPLETE 7.3 良いルーチン名
And
がたくさん並ぶようなら 分割を検討するhandle
, perform
, output
, process
, etc…HogeJob#perform
みたいなのは open/close
, first/last
, take/drop
, etc…register,sign_up/withdraw,quit,resign
, etc..標準ライブラリや利用している外部ライブラリに、
どのようなメソッドが定義されているか?
眺めてみるとよいです。
— CODE COMPLETE 第11章 変数名の力
— CODE COMPLETE 11.1.1 名前を付ける時に一番大切なことは
方法(how)ではなく モノ(what) を表す
inputRec
employeeData
stateFlag
printerReady
calVal
sum
— CODE COMPLETE 11.1.2 問題志向の名前
— CODE COMPLETE 11.1.3 名前の最適な長さ
i
とかでいい— CODE COMPLETE 11.1.4 変数名へのスコープの影響
total
, sum
, average
, max
, min
, etc.revenue_Total
, expenseAverage
— CODE COMPLETE 11.1.5 計算値による変数名の修飾
標準ライブラリや利用している外部ライブラリに、
どのようなメソッド仮引数が定義されているか?
OSS だったらコードを見てどのような変数が定義されているか?
眺めてみるとよいです。