常做的和常想的事情
晦澀的if條件
1)對於||的處理
盡管減少代碼行數是一個好目標,但把理解代碼所需的時間最小化是一個更好的目標。
返回值
上面的"$ret"是“我想不出名字“的托詞。與其使用這樣空洞的名字,不如挑一個能描述這個實體的值或者目的的名字。
$alias聲明了這個變量是用來承載別名的——標明了這個變量的目的。並且可能幫我們找到缺陷
好的名字應當描述變量的目的或者它所承載的值。
臨時變量
循環迭代器
我在我的js代碼中也發現了壞味道。
像i,j,iter和it等名字常用做索引和循環迭代器。盡管名字很空泛,但是大家都知道它們的意思是“我是一個迭代器“。——實際上你用這些名字來表示其他含義,那會很混亂。所以不要這麼做。
如果你非要用i,j,it這樣空泛的名字,那麼你要有個好的理由說服自己。
總結
我們在編碼的過程中,多花幾秒鐘想出一個好名字,你會發現我們的“命名能力“很快提升上去。
我一般是先想中文名字,如果實在想不出對應的英文名字,我就會用翻譯工具把想到的中文貼上去,然後進行裁剪命名變量或者函數名稱。
贈送一張最近看到的不錯的命名