《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名,加下划线),用来区别其他提供类似功能的Packet或Library等。
匿名命名空间中的标识符指的是全局或文件级变量名、常量名、宏、类型名、函数名等。
更改为
原则1.7 关于全局命名空间级标识符的前缀
1.7.1 说明
给全局命名空间(匿名,全局变量缺省所属的那个命名空间,以下同)级标识符一个公共前缀(如所属Package名或Library名,加下划线),用来区别其他提供类似功能的Packet或Library等。
全局命名空间中的标识符指的是全局或文件级变量名、常量名、宏名、类型名、函数名等。
正文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 少用浮点类型除非必须