rt,这个帖子并不像一个技术贴,更像一个学习日志.
对某本书的要点进行简单地总结, 写得不好还请见谅.
顺便混混灵石(笑
第二章 有意义的命名
名副其实:
发现有更好的名称就换掉旧的
应围绕项目功能命名
合适地用对象替换数组
避免误导
不要用accountList来表示一组账号(除非真的是List类型)
(可以用accountGroup)
尽量不使用很长且很相似的名称
名字不要用字母l和大写O为开头
做有意义的区分
比如Customer和CustomerObject
显然前者更好
使用读的出来的名称
就是尽量不要使用缩写
使用可搜索的名称:
|
名称长短应与其作用域大小相对应 如果变量或常量在代码里多次使用 则可以使用较长的名称 |
避免使用编码 |
匈牙利语标记法
(不建议) 成员前缀 不必用m_表明成员变量 应当使类和函数做的足够小 消除对成员前缀的需要 接口和实现 ? 最好不要用前缀 I 表示接口,可以选择实现 |
避免思维映射: |
不要让读者在脑中把你的名称翻译为他们熟悉的名字 |
类名: |
不应该是动词 |
方法名: |
前缀最好是个动词 |
不要用俚语: |
如题 |
每个概念对应一个词: |
不要同时使用fetch retrieve等,如果他们目的相近 |
不要用双关语 |
如果两个方法的目的不同, 尽量使用不同的动词 比如连接两个对象和将一个对象放到一个集群中 则可以用add和append或insert |
使用解决方案领域名称 |
可以使用术语,毕竟使用者也知晓这个领域 |
添加有意义的语境 |
比如有city state street等变量名, 很明显他们表示一个地址 |
不要添加没用的语境 |
原著: |