almost 4 years ago

1.減少濫用 get 的命名

get僅用於直接取得單一值或常數

對於取得有複雜計算的值
則改用其他動詞來命名

例如

function getItem($match) {  
    foreach ($this->items as $item) {
        if ($item === $match) {
            return $item;
        }
    }
}

則改為 findItem 或者 searchItem 等較能傳達此函數的動作含意

2.不要使用 do 命名

因為 do 沒辦法傳達明確的資訊來說明此函數目前在做什麼
應建議使用 handle, perform, return, compute 等其他更具意義的動詞

至於 call, execute, run, prepare 等這類處於尷尬的含意動詞
並不是不好的動詞命名方式
而是在使用上需再思考是否有更適合的開頭詞句來描述此函數的動作

3.return Boolean 函數的命名

當函數回傳 truefalse, 可使用 isare 的命名方式
來傳單數物件或複數物件的狀態判斷
例如

Button::isEnabled(), File::isLocked() 或 Inputs::areValid()

4.物件內的函數命名

物件內的函數命名不需要再署名當下物件的名稱
因為物件名稱本身就代表了主詞含意
重複命名會顯著有點多餘
例如

$message->save()
不建議寫成
$message->saveMessage()

5.不要過度在函數名稱內描述各個參數

例如

findUserByUserIdAndToken($userId, $token) 
可以轉換成 
findUser($userId, $token)
← MSSQL匯出CSV時過濾欄位逗號及段行符號 以 loop 為例精簡程式流程的口述行為 →
 
comments powered by Disqus