首页 > 代码库 > c++程序设计之编程思想

c++程序设计之编程思想

  1. 代码块愈小,代码的功能就愈容易管理,代码的处理和移动就愈轻松。
  2. 任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类容易理解的代码,才是优秀的程序员。
  3. 绝大多数情况下,函数应该放在它所使用的数据的所属对象内。
  4. 最好不要在另一个对象的属性基础上运用switch语句,如果不得不使用,也应该在对象自己的数据上使用,而不是在别人的数据上使用。
  5. 确保任何时候都通过取值函数和设值函数来访问类型代码。
  6. 代码量减少并不会使系统运行更快,因为这对程序的运行轨迹几乎没有任何明显影响。
  7. 拥有短函数的对象会活的比较好、比较长...间接层所能带来的全部利益——解释能力、共享能力、选择能力——都是由小型函数支持的。
  8. 早期的编程语言中,子程序调用需要额外开销,这使得人们不太乐意使用小函数,现代OO语言几乎已经完全免除了进程内的函数调用开销。
  9. 最终的效果是:你应该更积极的分解函数。我们遵循这样一条原则:每当感觉需要注释来说明点什么的时候,我们就把需要说明的东西写进一个独立的函数中,并以其用途(而非实现手法)命名。
  10. 至于循环,你应该将循环和其内的代码提炼到一个独立的函数中。
  11. 有一种 经典的气味是:函数对某个类的兴趣搞过对自己所处类的兴趣。
  12. 大多数时候,一看到switch语句,你就应该考虑以多态来替换它。
  13. 如果你看到用户向一个对象请求另一个对象,然后再向后者请求另一个对象,然后再请求另一个对象...这就是消息链。采取这种方式,意味着客户代码与查找过程的导航结果紧密耦合。
  14. 我们之所以要在这里提到comments,是因为人们常把它当做除臭剂使用。常常会有这样的情况:你看到一段代码有着长长的注释,然后发现,这些注释之所以存在乃是因为代码很糟糕。
  15. 如果函数的某些参数未被用到,可以对它实施remove prarmeter
  16. 程序坏味道之夸夸其谈未来性,当有人说“噢,我想我们总有一天需要做这事”,并因而企图以各式各样的钩子和特殊情况来处理一些非必要的事情,这么做的结果往往造成系统更难理解和维护。
  17. 代码坏味道之令人迷惑的临时字段,有时候你会看到这样的对象,其内的某个变量仅为某种特定情况而设置

 

  1. 在C++中,不自觉的在程序开始处预先定义所有对象的做法是一种浪费。——《提高C++性能的编程技术》
  2. 考虑使用lazy evaluation(缓式评估)。———《More efficiency C++》
  3. 80-20法则:一个程序80%的资源用户20%的代码身上。———《More efficiency C++》
  4. 千万不要重载&&, || 操作符。 ———《More efficiency C++》
  5. C++保证删除空指针是安全的——《More efficiency C++ 条款10》
  6. 面对尚未完全构造好的对象,C++拒绝调用其destructor——《More efficiency C++ 条款10》
  7. 就C++多维数组来说,“先行后列”遍历效率肯定好于“先列后行”遍历,不论其行数远大于列还是情况相反甚至接近。——《高质量程序设计指南第四章》
  8. 不要在遍历(迭代)容器的过程中对容器进行插入、删除元素的操作。——《高质量程序设计指南第四章》
  9. switch的效率比if/else结构高,这正是switch语句存在的理由——《高质量程序设计指南第四章》
  10. 全局变量(extern或static的)存放在程序的静态数据区中,在程序进入main()之前创建,在main()结束后销毁,因此在我们的代码中根本没有机会初始化它们,编译器会自动提供了一个默认的全局初始化0。 ——《高质量程序设计指南 第四章》
  11. 不要使用间接递归,即一个函数通过调用另一个函数来调用自己,因为它会损害程序的清晰性。——— 《高质量程序设计指南第六章》
  12. 基本数据类型的参数不存在构造、析构的过程,而拷贝也非常快,“值传递”和“引用传递”的效率几乎相当。—— 《高质量程序设计指南 第六章》
  13. 对于编程来说,最大的挑战还是将问题概念化,编程中很多错误都是概念性的错误。——《代码大全第二章》 
  14. 程序更具自我说明性,你可以改进像 currentFont.attribute or 0x02这样的语句替换成currentFont.SetBoldOn();——《代码大全 第六章》
  15. 代码块愈小,代码的功能就愈容易管理,代码的处理和移动就愈轻松;——《重构改善既有代码的设计》
  16. 任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类容易理解的代码,才是优秀的程序员;—— 《重构改善既有代码的设计》
  17. 我们之所以要在这里提到comments,是因为人们常把它当做除臭剂使用。常常会有这样的情况:你看到一段代码有着长长的注释,然后发现,这些注释之所以存在乃是因为代码很糟糕; —— 《重构 改善既有代码的设计》
  18. 你能够隐藏的信息越多,在同一时间所需要考虑的信息就越少,你需要考虑的信息越少,则忘记某一项信息而犯错误的几率就越小。——《代码大全 p251》

c++程序设计之编程思想