📌
リーダブルコードのアウトプットその1
原則的な思考
--コードは最短時間で理解できるコードを書く.1000行で理解に費やす時間が100時間より,10000行で理解に費やす時間が10時間の方がいいコードといえる.
技術観点-変数名に情報を埋め込む
・明確な単語を選ぶ
ex GetPages(url)ではどこからページをゲットするのか不明確.インターネットからページを取得するなら,FetchPages(url)の方が明確.
・汎用的な名前を避ける
tmpやfoo,retvalなどはひとまず変数をつけるときに使いがちだが,tmpなどには変数に情報が埋め込まれていない.
ex 二乗の和を計算するプログラムの時
retval += value[i];では,間違いに気づきにくい.変数名をsum_squaresであるとするなら
sum_squares += value[i]であったら,二乗の和なのに二乗していない!と間違いに気づきやすい.など.
例外として本当に変数に情報を持たない場合はtmpやfooの使用は問題ないといえる.
・抽象的な名前よりも具体的な名前
ex サーバーを休止させるメソッドStop()があるとする.しかしこれでは停止させるのか休止させるのか不明確.
ゆえにServerPause()とかにすると具体的な名前でメソッド名がそのまま動作を表していて,わかりやすい.
・名前に情報を追加する
ex 接頭辞などをつけるとわかりやすい.
unityでは
yield return WaitForSeconds(秒数)などになっていてわかりやすい.
しかし,
yield return WaitTime()だと,引数が時間なのか秒数なのかミリ秒なのかわからない.
Discussion