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

原创 2002年08月28日 11:59:00

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  少用浮点类型除非必须

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

《C++编码规范》修订说明正文P26原则2.3  少用浮点数除非必须2.3.1  例子int baudRate = 9600;int symbolsIn15msec;// 使用了浮点数,能避免吗更改为...
  • amone
  • amone
  • 2002年08月28日 11:59
  • 936

Google的C++编码规范(总结)

本书分为几个大类别来阐述C++编码规范: --头文件 --作用域 --C++类 --智能指针和其他C++特性 --命名约定 --代码注释 --格式 --规则之例外 头...
  • some_times
  • some_times
  • 2014年08月03日 17:30
  • 766

整理华为C/C++编码规范

目  录 1 排版 2 注释 3 标识符命名 4 可读性 5 变量、结构 6 函数、过程 7 可测性 8 程序效率 ...
  • Season_hangzhou
  • Season_hangzhou
  • 2015年01月07日 16:18
  • 2226

C/C++语言编码规范

C++编程规范
  • wenrenhua08
  • wenrenhua08
  • 2014年09月27日 00:00
  • 14173

google c++ 编码规范

1. 命名约定 最重要的一致性规则是命名管理. 命名风格快速获知名字代表是什么东东: 类型? 变量? 函数? 常量? 宏 ... ? 甚至不需要去查找类型声明. 我们大脑中的模式匹配引擎可以非常可靠...
  • xiexievv
  • xiexievv
  • 2016年03月24日 16:55
  • 6809

最全面的C/C++编码规范总结

对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如我们可以规定某个项目的C语言程序要遵循这样的规定:变量的...
  • oNever_say_love
  • oNever_say_love
  • 2016年02月29日 11:41
  • 975

Google C++编码规范

背景 Google的开源项目大多使用C++开发。每一个C++程序员也都知道,C++具有很多强大的语言特性,但这种强大不可避免的导致它的复杂,这种复杂会使得代码更易于出现bug、难于阅读和维护。 本指南...
  • u011522626
  • u011522626
  • 2014年01月17日 09:02
  • 1586

华为C++编码规范和范例

  • zhuxiaoyang2000
  • zhuxiaoyang2000
  • 2009年04月27日 16:26
  • 3279

11条最全面的C/C++编码规范总结

对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如我们可以规定某个项目的C语言程序要遵循这样的规定:变量的...
  • zang141588761
  • zang141588761
  • 2016年01月29日 18:11
  • 6789

一张图总结Google C++编程规范(Google C++ Style Guide)

Google C++ Style Guide是一份不错的C++编码指南,我制作了一张比较全面的说明图,可以在短时间内快速掌握规范的重点内容。不过规范毕竟是人定的,记得活学活用。看图前别忘了阅读下面两条...
  • voidccc
  • voidccc
  • 2014年07月13日 21:31
  • 17987
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《C++编码规范》修订说明 (一)
举报原因:
原因补充:

(最多只允许输入30个字)