C++编码规范

原创 2013年12月05日 09:52:40

命名规则:


      所有命名,都尽量做到“一目了然”,并且不要太过冗长。尤其要禁止含意和所实现的功能不一致的现象。含意上一般动名词也要注意,一般函数第一个单词尽量用动词


种类

示例

说明

文件名

RoleManager

以大写字母开头的单词拼接而成

类名

RoleMaterial

以大写字母开头的单词拼接而成

类成员变量

_roleId (私有)

RoleName (公有)

私有成员:以下划线开头,首字母小写,单词第一个字符大写

公有成员:以大写字母开头的单词拼接而成

类成员函数

_getRoleId (私有)

getRoleId (公有)

私有函数:首字母小写,单词第一个字符大写,下划线开头

公有函数:以大写字母开头的单词拼接而成,首字母小写

局部变量

roleName

单词第一个字符大写,首字母小写

函数参数

roleName

单词第一个字符大写,首字母小写

全局函数

getRoleInfo

下划线起头,以大写字母开头的单词拼接而成

全局变量

_RoleInfo

下划线起头,以大写字母开头的单词拼接而成

常量定义

ROLE_TYPE

全大写字母的单词,单词间以下划线连接

可变常量(系统参数等)

_MAX_USER

全大写字母的单词,单词间以下划线连接,整个变量以下划线开头

 

 

 

  

注释相关


共性:注释要随代码更新而变动,杜绝注释的描述和代码功能的不一致!所有注释统一都以双斜杠开头,注释尽可能单独占一行,尽量不要出现上百行都看不到一行注释的情况。

  • 文件注释:写在文件最开头,注明文件中代码的作用以及注意点即可
  • 函数注释:声明和实现处要一致,要和函数实现的功能相符合,不能一眼看出含意的参数要添加说明
  • 代码行注释:尽可能地为每个for、while、if、else、switch都写上说明,一般在这些语句的地方,都是体现业务功能的地方。

 

缩进和空格


      缩进用空格或者TAB键都可以,但单个文件内要统一,如果使用空格缩进,要注意,所有缩进要统一空格数量,一个缩进至少2个空格。

非缩进处的空格,不要出现两个空格连续在一起的情况


其它


      大括号相关:for、while、if、else等语句,必须用大括号,且括号内的代码要单独占一行,以下是示例


for(int i=0;i<10;i++)a=1;

if(b=1)a=1;

else a=2;

不良

for(int i=0;i<10;i++)

  a=1;

if(b=1)

  a=1;

else

  a=2;

不良

for(int i=0;i<10;i++)

  {

  a=1;

  }

if(b=1)

  {

  a=1;

}

Else

  }

  a=2;

  }

不良

for(int i=0;i<10;i++){

  a=1;

}

if(1==b){

  a=1;

}else if(2==b){

  a=2;

}else{

  a=3;

}

建议用这样的写法

关于第一个大括号{是否该另起一行,关系不大,个人建议不另起行,这样在代码行比较多的时候,一页可以看到更多的代码


      局部变量尽可能地在用到的地方定义,省得一个比较大的函数在开头的地方出现过多的局部变量的定义

 

      不要泛滥使用多层括号结构,如下面的两个函数实现的是同样的功能,红色部分是这个函数的主要处理逻辑,明显后面一种写法更清析,特别当红色块有更多行的代码时,更显得如此


不良

int TypeConvert(int p_type, int p_data){

       if(p_type < 0){

              return -1;

       }else{

              if(p_type < 100){

                     if(p_data > 0){

                            int ret = p_data / p_type;

                            ……

                            return ret;

                     }else{

                            return -2;

                     }

              }else{

                     return -3;

              }

       }

}

int TypeConvert(int p_type, int p_data){

       if(p_type < 0){

              return -1;

       }

if(p_type < 100){

       return -3;

}

if(p_data <= 0){

       return -2;

}

       int ret = p_data / p_type;

       ……

       return ret;

}

 

 

不允许将两条语句写在一行中,如:


a=3;a=a*4;

 判断语句:if、while中用到的判断比较,整型和布尔型要区别对待,用整型结果当作判断条件,如:


不良

int a=0;

if(a){

   …

}

 

int a=0;

if(0 != a){

   …

}

 


在比较等于的时候,如果有常量参与,尽量把常量写在前面,如:

if(a == 1) 写成 if(1 == a) 更好些

  • 文件引用:尽可能地分出引用关系的层次,不要写成a引用b,b引用c,c又引用a
  • 不到万不得已,不得使用goto
  • 能用整数运算,尽量避免浮点运算
  • 共通的抽取:同一个业务,尽量写在一处,而不要写成多份拷贝,以便业务更改维护
  • 日志:日志级别要清楚,错误、警告、普通、调试 

最后:细心才能写出好代码,用心才能进步!

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

C/C++语言编码规范

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

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

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

google c++ 编码规范

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

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

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

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

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

常见C++安全编程规范

C++编程规范一般的公司都会有,但是涉及到安全相关的则比较少(可能在互联网上公开的少),本文将会介绍常见的安全编程规范,由于C++是一门极其复杂的编程语言,本文无法将所有安全相关的要求描述详尽,后续会...
  • ilnature2008
  • ilnature2008
  • 2017年03月20日 19:43
  • 632

谷歌C++编程规范补充--windows编程规范

之前博客《谷歌C++编程规范笔记》整理了一些关于C++ Style方面的东西,看的是中文版本的。但是今天翻阅英文版本的,在最后,发现了 Google C++ Style 关于windows的。Wind...
  • wangshubo1989
  • wangshubo1989
  • 2015年10月27日 22:03
  • 6670

Google的C++代码规范

Google C++ 编码规范很早就已经公开了,李开复也在其微博上公开分享:”我认为这是地球上最好的一份C++编程规范,没有之一,建议广大国内外IT研究使用。“ Google C++ Style Gu...
  • freeking101
  • freeking101
  • 2017年12月29日 13:15
  • 184

《C++编程规范:101条规则、准则与最佳实践》

 《C++编程规范:101条规则、准则与最佳实践》学习笔记 博客分类: 学习笔记转载整理C/C++学习 0. 不要为小事斤斤计较。(或者说是:知道什么东西不需要标准化) ...
  • wyl4138
  • wyl4138
  • 2016年04月13日 20:59
  • 434

cocos2d-x中的C++ 编码规范

声明务必要看 头文件 define用法 前向声明 内联函数 -inlh文件 函数参数顺序 include的命名和顺序 作用域 命名空间 非命名的命名空间 命名空间的使用规则 嵌套类 非成员函数静态成员...
  • u012723995
  • u012723995
  • 2015年08月01日 18:39
  • 1873
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++编码规范
举报原因:
原因补充:

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