以下是危險的例子:
bool read_password = true;
根據讀法,有2種完全不同的解讀方式:
在這情況下,避免使用「read」,改為need_passwor或是user_is_authenticated。
一般來說加上is,can,should可以讓布林值意義更加明確。
ex:名為SpaceLeft()的函數看起來像是會傳回數值,如過傳回是布林值,改為HasSpaceLeft()
會比較適當。
最後,最好避免在名稱中使用否定敘述:
bool disable_ssl = false;
改用:
bool use_ssl = true;
會較容易閱讀,也較簡短。
有些名稱即使已經很明確的表達意圖,使用者的成見仍然可能造成誤解,這種情況下,最好「讓步」改成其他不會誤導使用者的辭彙。
public class StatisticsCollector{
public addSample(double x){...}
public double getMean(){
// 加總所有樣本,並傳回總和/樣本數
}
}
程式中getMean在資料量大時會耗用大量資源,大依賴慣例的程式設計師只是會單純的存取子,隨意的呼叫getMean(),這時應該改為computeMean(),看起來就像是會耗費較多資源。