1. Filter(condition)
"filter"是个二义性单词,应避免使用。因为不清楚是应该满足condition,还是应该不满足condition,容易引起误解。
2. Clip(text, length)
Clip(text, length) //易产生歧义,不知道是保留前半部分还是后半部分
替换为:
Truncate(text, max_chars). // 缩短至max_chars长度
3. 推荐使用max和min
CART_TOO_BIG_LIMIT = 10 //产生歧义
MAX_ITEMS_IN_CART = 10 //更好的变量名,表示包含10
4. 范围
start, stop // 易产生歧义
[first, last] // 闭区间
[first, last) // 左闭右开区间, C++标准库中的用法
5. 布尔值的命名
bool read_password = true; // 歧义:已经读取了密码/需要读取密码?
need_password
user_is_authenticated // is, has, can, or should这样的词可以使布尔值变得更准确
6. 与使用者期望相匹配
例如:get*() 通常应为轻量级访问
getMean() 如果是需要遍历数据并计算中值,则应重命名为computeMean()
例如:size() 通常应为轻量级访问,否则应使用countSize()或者countElements()
总结:
决定写一个名字之前最好,最好吹毛求疵一下。