《C++编码规范》修订说明 (一)

    技术2022-05-11  203

    C++编码规范》修订说明

    目录p11:

    原则23.22  代码中用到的路径只用“/”而不要用“/··· 196

    更改为

    原则23.22  代码中用到的路径只用“/”而不要用“/··· 196

    正文P1倒数第2行:

    多态:父类和子类可以为同一个接口(复用)提供不同的实现,外部代码不需任何改动(复用)就可以拥有不同的特性。

    更改为

    多态:不同子类可以为同一个父类接口(复用)提供不同的实现,外部代码不需任何改动(复用)就可以拥有不同的特性。

     

    正文P6原则1.2  关于变量和函数名

    1.2.1  说明

    ……(同时参阅:“原则1.7  关于匿名命名空间级标识符的前缀”、……)

    更改为

    ……(同时参阅:“原则1.7  关于全局命名空间级标识符的前缀”、……)

    正文P9原则1.4  关于宏、常量和模板名

    1.4.2  例子

    // 常量类的宏

    #define PIE 3.1415926

    // 函数类的宏

    #define MAX( a,b ) (/* … */)

    // 常量

    const int LENGTH = 1024;

    // 枚举中的常量成员

    更改为

    // 常量类的宏PIE

    #define PIE 3.1415926

    // 函数类的宏MAX

    #define MAX( a,b ) (/* … */)

    // 常量LENGTH

    const int LENGTH = 1024;

    // 枚举中的常量成员BLUE, RED, WHITE

    (还有几处类似的添加)

    正文P12原则1.7上面

    合理的命名方式肯定在这两个极端中间的某处,但具体在哪里有赖于大家自己的判断。

    更改为

    合理的命名方式肯定在这两个极端中间的某处,但具体在哪里有赖于大家自己的判断。不过,一个组织或部门内部最好统一意见,以方便大家互相理解交流。

     

    正文P12原则1.7 关于匿名命名空间级标识符的前缀

    原则1.7  关于匿名命名空间级标识符的前缀

    1.7.1  说明

    给匿名命名空间级标识符一个公共前缀(如所属Package名或Library名,加下划线),用来区别其他提供类似功能的PacketLibrary等。

    匿名命名空间中的标识符指的是全局或文件级变量名、常量名、宏、类型名、函数名等。

    更改为

    原则1.7  关于全局命名空间级标识符的前缀

    1.7.1  说明

    全局命名空间(匿名,全局变量缺省所属的那个命名空间,以下同)级标识符一个公共前缀(如所属Package名或Library名,加下划线),用来区别其他提供类似功能的PacketLibrary等。

    全局命名空间中的标识符指的是全局或文件级变量名、常量名、宏、类型名、函数名等。

    正文P13原则1.7 关于匿名命名空间级标识符的前缀

    1.7.3  原因

    如果希望代码复用,则匿名命名空间级标识符就需要防止命名冲突。

    更改为

    如果希望代码复用,则全局命名空间级标识符就需要防止命名冲突。

     

    正文P13原则1.8  减少匿名命名空间级标识符

    原则1.8  减少匿名命名空间级标识符

    1.8.1  说明

    尽量减少匿名命名空间级变量、常量、宏及函数等标识符。……

    更改为

    原则1.8  减少全局命名空间级标识符

    1.8.1  说明

    尽量减少全局命名空间级变量、常量、宏及函数等标识符。……

    正文P13原则1.8  减少匿名命名空间级标识符

    ……

    1.8.2  例子

    class CommonDefinition_T …

    {

      public :

        const float PIE;

    // …

    };

    更改为

    1.8.2  例子

    class CommonDefinition_T …

    {

      public :

        const float PIE;        // 现在常量PIE不再是全局的

        // …

    };

    正文P13原则1.8  减少匿名命名空间级标识符

    1.8.3  原因

    ……

    缩短生命周期,使之只存在于它应该发挥作用的有限时间内,从而减少麻烦:更好记、更好维护、不会被误用或滥用等。

    更改为

    小其有效周期/范围,使之只存在于它应该发挥作用的有限时间/空间内,从而减少麻烦:更好记、更好维护、不会被误用或滥用等。

    正文P16原则1.12  尽量用英文命名

    英语是最通用的语言,特别是在程序语言中,其他语言(比如选择汉语拼音)可能造成阅读者理解上的困难。

    更改为

    英语是最通用的语言,特别是在程序语言中,其他语言(比如选择汉语拼音)可能造成阅读者理解上的困难,也不利于更大范围的代码复用

    正文P18原则1.19  避免名字中出现形状混淆的字母或数字

    例子

    /*

    * 字母O和数字0形状类似,避免混用;实在无

    * 法避免,最好总是用小写,这样和数字0区别还

    * 大一点

    */

    更改为

    例子

    /*-----------------------------------------------------------------

    * 字母O和数字0形状类似,避免混用;实在无

    * 法避免,字母O最好总是用小写,这样和数字0

    * 区别还大一点

    *-----------------------------------------------------------------*/

    (为了区分容易,本书所有的/*  */的注释均在上下加了短横线--------

    正文P26原则2.3  少用浮点数除非必须

    原则2.3  少用浮点数除非必须

    更改为

    原则2.3  少用浮点类型除非必须


    最新回复(0)