Bjarne Stroustrup(BS)博士在 The C++ Programming Language(Special Edition)中对读者的忠告(摘抄)
第 4 章 类型和声明
1. 保持较小的作用域。
2. 不要在一个作用域和它外围的作用域里采用同样的名字。
3. 在一个声明中只声明一个名字。
4. 让常用的和局部的名字比较短,让不常用的和全局的名字比较长。
5. 避免看起来类似的名字。
6. 维持某种统一的命名风格。
7. 仔细选择名字,反映其意义而不是反映实现方式。
8. 如果所用的内部类型表示某种可能变化的值,请用typedef 为它定义一个有意义的名字。
9. 用typedef为类型定义同义词,用枚举或类去定义新类型。
10. 切记每个声明中都必须描述一个类型(没有“隐式的int”)。
11. 避免有关字符数值的不必要假设。
12. 避免有关整数大小的不必要假设。
13. 避免有关浮点类型表示范围的不必要假设。
14. 优先使用普通的int 而不是short int 或者long int。
15. 优先使用double 而不是float 或者long double。
16. 优先使用普通的 char 而不是 signed char或者 unsigned char。
17. 避免做出有关对象大小的不必要假设。
18. 避免无符号算术。
19. 应该带着疑问去看待从signed 到unsigned ,或者从unsigned 到signed 的转换。
20. 应该带着疑问去看待从浮点到整型的转换。
21. 应该带着疑问去看待向较小类型的转换,如将int转换到char。
第 5 章
1. 避免非平凡的指针算术。
2. 当心,不要超出数组的界线去写。
3. 尽量使用0而不是NULL。
4. 尽量使用vector 和valarray ,而不是内部(C风格)的数组。
5. 尽量使用string而不是以0结尾的char 数组。
6. 尽量少用普通的引用参数。
7. 避免 void*,除了在某些低级代码里。
8. 避免在代码中使用非平凡的文字量(“神秘的数”)。相反,应该定义和使用各种符号常量。