C++ 编程规范101读书笔记(3)编程风格

来源:互联网 发布:mac windows f1 编辑:程序博客网 时间:2024/05/16 11:17

这部分主要解决实际编程中出现的问题,提高代码的质量


第14条 宁可编译时和链接时错误,也不要运行时错误

            (1) 静态检查与数据和控制流无关

          (2)静态表示的模型更加可靠

          (3)静态检查不会带来运行时的开销


第15条 积极使用const

           不变的值易于理解,跟踪和分析。

          const  并不深。假如类C 有一个X*成员, const 的C 对象中的成员也是 const-- 但它所指向的X对象不是则不是


第16条 避免使用宏

          例外:

          (1) #include guard

          (2) 公共代码

       (3)用宏驱动一个公共接口多个实现


第17条 避免使用“魔数”

       在命名空间定义为常量

      在类中定义常量


第18条 尽可能局部申明变量

      避免作用域膨胀,尽可能缩短变量的生命周期  

     例外:

   (1)变量提出循环

  (2) 常量


第19条 总是初始化变量

       例外:

       (1) 硬件或者其他进程直接写入的输入缓冲区数据

       (2) volatile型数据


第20条 避免函数过长,避免嵌套过深

       (1)尽量紧凑: 一个函数只赋予一个职责

       (2)不要自我重复: 优先使用命名函数,而不要让相似的代码片段反复出现

       (3)优先使用&&: 在可以使用&&条件判断的地方要避免使用嵌套if

       (4)优先使用标准算法:算法比循环嵌套要少,通常较好

       (5)不要过分使用try: 优先使用析构函数进行自动清除而避免使用try

         (6)  不要根据类型标签(type tag)进行分支(switch):优先使用多态函数

     

第21条 避免跨编译单元的初始化依赖

     

第22条 尽量减少定义性依赖,避免循环依赖

       (需重新理解)

第23条 头文件应该自给自足

      

第24条 总是编写内部#include guard,绝不编写外部#include guard



0 0