如果 & 和 * 类型的参数只做输入用,不做输出用,则要加const;
测试只能证明缺陷存在,而不能证明缺陷不存在;
软件的高质量是设计出来的,而不是靠测试修补出来的;
白盒测试:即测试程序的逻辑结构和实现细节;
黑盒测试:即按照规格说明书来测试程序是否符合要求;
在软件设计时就要有一个避免程序员乱改代码的机制,而不能依赖于程序员的自觉和认识。
相同功能的代码只须要实现一份。
代码的最高境界:手中无剑,心中也无剑。
我们不能过分地考虑代码的一步到位(即代码性能),有时要多考虑代码的可操作性和可读性。在FAT32标准中,里面有把长文件名转成短文件名的一个实现,在这个实现中采用了多步扫描字符串的方式,逐步完成了短文件名的转换。把一个复杂的问题分解成多步来解决,不容易出错。
在一个低效的组织中,互相指责只会耽误开发进度,项目组将会变得没有积极性,并且充满官僚气氛。(引自《C++primer》P790)
读代码不是看小说。