第二章 - 有意义的命名 - 读书心得
2013-08-12 17:13
260 查看
1. 让代码会说话。
- C/C++, python, Java...各种不同层次的编程语言,我首先强调“语言”这两个字。
- 编程语言和我们日常交流用于其实并没有实质性的区别。都是一种表达方式。
- 好的程序写出来也需要像日常交流一样能够正确清晰的表达自己。
2. 名副其实
- 何为名副其实,简单来说就是写的和做的一样。
- 如果一个变量/函数定义出来之后仍然需要加额外的注释去注解。那么显然这个命名是失败的。
3. 避免误导, 有意义的命名,命名出来的名字可读
4. 有意义的命名区分
①命名有很多,如何区分不同的命名?
- 1. 不要用简单添加数字(a1, a2)来区分变量
- 2. 不要使用Info, Information这样的意义想同或相近的词来区别
- 3.不要在变量名中加入不必要的信息(e.g. val, arr, i... 做前缀或者后缀)
- ...
②如何来避免命名的重复
C++中
- 1. 合理使用namespace
- 2. 更高层次的抽象
- 3. 重载,重写...
- 4. 类中的私有函数
5. 其他规则
- 命名要可以读出来
- 命名要可以索引
- 不要在命名中使用编码
- 前缀(这里:鲍勃大叔不推荐前缀,但是我认为有些前缀还是值得用的,例如成员变量m_xxx,全局变量g_xxx)
- 类的命名(这里:鲍勃大叔不推荐前缀,个人感觉类名定义成CXXX,接口定义成IXXX比较舒服)
- 类名应该是名词或者名词性短语,避免使用Manager,Processor,Data,Info这样的类名
- 方法名为动词和动词短语(E.g. 对链表操作,NodeInsert 和InsertNode虽然都能正确理解,但是动词+名词更符合英语语法,更合适)
- 每种概念对应于一个词,不要出现fetch,get,retrieve...相同含义的词语混用
- 别用双关语,命名语意要明确清晰,不要给人不同的解读
- 采用代码所涉及领域的专有名称
- 适当增加一些有意义的语境做为前缀,(e.g. 我们会在一些配置参数前加radXXX,会在资源参数前加rrmXXX),当然这只能适当添加
最近做了坑爹的中文听力和阅读理解,12到选择题(答案只有:对,错和不确定),结果只对了一半。
当中挖坑之处不少,读一句都要细细揣摩。
做完之后,感概万千,沟通交流切记语意明确,涵义清晰。写代码也一样。
- C/C++, python, Java...各种不同层次的编程语言,我首先强调“语言”这两个字。
- 编程语言和我们日常交流用于其实并没有实质性的区别。都是一种表达方式。
- 好的程序写出来也需要像日常交流一样能够正确清晰的表达自己。
2. 名副其实
- 何为名副其实,简单来说就是写的和做的一样。
- 如果一个变量/函数定义出来之后仍然需要加额外的注释去注解。那么显然这个命名是失败的。
3. 避免误导, 有意义的命名,命名出来的名字可读
4. 有意义的命名区分
①命名有很多,如何区分不同的命名?
- 1. 不要用简单添加数字(a1, a2)来区分变量
- 2. 不要使用Info, Information这样的意义想同或相近的词来区别
- 3.不要在变量名中加入不必要的信息(e.g. val, arr, i... 做前缀或者后缀)
- ...
②如何来避免命名的重复
C++中
- 1. 合理使用namespace
- 2. 更高层次的抽象
- 3. 重载,重写...
- 4. 类中的私有函数
5. 其他规则
- 命名要可以读出来
- 命名要可以索引
- 不要在命名中使用编码
- 前缀(这里:鲍勃大叔不推荐前缀,但是我认为有些前缀还是值得用的,例如成员变量m_xxx,全局变量g_xxx)
- 类的命名(这里:鲍勃大叔不推荐前缀,个人感觉类名定义成CXXX,接口定义成IXXX比较舒服)
- 类名应该是名词或者名词性短语,避免使用Manager,Processor,Data,Info这样的类名
- 方法名为动词和动词短语(E.g. 对链表操作,NodeInsert 和InsertNode虽然都能正确理解,但是动词+名词更符合英语语法,更合适)
- 每种概念对应于一个词,不要出现fetch,get,retrieve...相同含义的词语混用
- 别用双关语,命名语意要明确清晰,不要给人不同的解读
- 采用代码所涉及领域的专有名称
- 适当增加一些有意义的语境做为前缀,(e.g. 我们会在一些配置参数前加radXXX,会在资源参数前加rrmXXX),当然这只能适当添加
最近做了坑爹的中文听力和阅读理解,12到选择题(答案只有:对,错和不确定),结果只对了一半。
当中挖坑之处不少,读一句都要细细揣摩。
做完之后,感概万千,沟通交流切记语意明确,涵义清晰。写代码也一样。
相关文章推荐
- 代码整洁之道 第二章 有意义的命名
- 第二章 命名的意义
- 代码整洁之道精华——第二章 有意义的命名
- 代码整洁之道笔记 - 第二章 有意义的命名
- 第二章 有意义的命名
- JavaCore视频的一些读书心得
- 这几天的读书心得
- 《软技能-代码之外的生存指南》读书心得 ---10步学习法
- 《windows程序设计》第二章学习心得
- Java编码规范,让你的代码赏心悦目--有意义的命名
- 代码整洁之道札记:有意义的命名
- C语言读书心得
- C++ Primer阅读心得(第一章、第二章上)
- Chapter 8 -- SystemC From Gound 读书心得
- c primer plus(第五版)读书笔计 第二章(2)
- 整洁代码-----有意义的命名
- 《软件评测师教程》读书心得 一
- 深度探索C++对象模型的读书心得
- 2014.9~2015.3 读书心得
- 数据挖掘读书心得(理论篇)