不要使用容易被誤解的名字
阿新 • • 發佈:2018-12-10
編碼過程中要主動找到誤解點,多問自己幾遍該名字是否會被誤解成別的意思。
比如filter這個詞,大家可以理解成過濾,但是就比較不清楚,過濾是剔除還是保留呢?
1、推薦使用maxg與min來包含極限
程式設計時,經常為用到最大值最小值巨集的定義,但是很多時候從字面我們無法理解,該值是否包含在範圍內。比如說我們定義購物車中可以存放在最大物品數。
#define CARD_MAX_LIMITS 10
if(items >= CARD_MAX_LIMITS )
{
......
}
這種寫法會造成大小差一的缺陷。CARD_MAX_LIMITS 的名字無法告訴我們是否包括10。但是這樣定義將會消除二義性:
#define MAX_ITEMS_IN_CAR 10
if(items >= MAX_ITEMS_IN_CAR)
{
......
}
2、推薦使用first與last及begin與end表示範圍
對於firt,last表示第一個與最後一個物件沒有二義性,比start stop要好。但是對於表示“最後的下一個值”,英語沒有更好的單詞能代表,begin與end已經是最佳選擇了。
以上例子只是說明,我們對變數起的名字要避免二義性。這樣才能把程式當成註釋。