布林(boolean)類函數命名原則

其實這東西困擾我很久了

舉個例子

假設我們要寫一個檢查會員是否登入的 function

會怎麼命名?

有的人會寫成

check_user_login()

這函數名稱是一個動作

“檢查會員是否登入”

所以我們會 return 一個結果

讓呼叫他的人知道

這個人是登入 還是沒登入

所以我們應該收到 true 還是 false 表示他有登入?

正常來說啦

應該都會覺得 true 是有登入

false 是沒登入

問題是有更多時候

函數的名字取的很曖昧

根本看不出來回傳值的 true/false 是實際上的哪個狀態

例如 check_user_vip()

所以 true 是 vip 還是 false 是 vip?

我覺得比較好的作法是

函數命名除了包含動作 還需要包含明確的狀態

例如 check_user_login()

應該改成 check_user_is_login()

那很明顯 如果是有 login

那就跟函數敘述邏輯正向

應該就會回傳 true

如果拿到 false 就是沒登入

不然有時候

我自己寫的 function

時間久了

自己都搞不清楚拿到 true/false 是哪一種情形

這是一種很細微的習慣

但可能沒人遵守一個容易理解的流程/命名方法

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *