C++代码规范

阅读了阿里等几家的代码规范pdf,笔者认为本人的代码规范规范比较类似于腾讯的C++代码规范。

以下是笔者的随记代码:

    

#include<iostream>
using namespace std;
int main()
{
int m,n,temp; int a=1,b=0; cin>>m>>n; for(int i=0; i<=n-m; i++) { temp=b; b=a+b; a=temp; } cout<<b<<endl; return 0; }

 

  总体原则

    所有使用C和C++作为开发语言的软件产品都须遵照本规范的内容进行编码。

腾讯C++规范对多数方面进行了规范:

1、程序的版式
1.1、程序块要采用缩进风格编写,缩进的空格数为 ,缩进的空格数为 4 个且不能用tap键,只能使用空格键
1.2、相对独立的程序块之间 :相对独立的程序块之间、变量说明之后必须加空行 、变量说明之后必须加空行。
1.3、较长的语句(>80 字符)要分成多行书写 )要分成多行书写。
1.4、不允许把多个短语句写在一行中,即一行只写一条语句 ,即一行只写一条语句。1.5、:if、for、do、while、case、switch、default default default 等语句自占一行 等语句自占一行,且 if、for、 do、while 等语句的执行语句部分无论多少都要加括号 等语句的执行语句部分无论多少都要加括号{}且加在同一行。 

相对于腾讯代码规范1.1来说,由于笔者习惯使用tap键,所以笔者没有用空格代替tap键的习惯,这点笔者是不同于腾讯的代码规范的,而对于1.2、1.3的规范,在笔者看来,这三点是非常重要的,这几方面的要求能使我们的代码更加清晰,增加了代码的可读性,在这三方面的要求笔者是与规范一模一样的。

2、注释规范

2.1、源文件头部应进行注释,列出:生成日期、作者、模块目的/功能等。 

对于源文件进行注释,由于笔者基本没接触过这方面,所以对这个的规范并无太深了解。

2.2、函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、返回 值等。

头部注释对于一个项目来说是非常重要的,只有说清楚了自己函数的功能及参数返回值,别人才能更清晰的看懂你的代码,才能更清晰的知道你的思路,这样也方便其他人的debug或接手项目

2.3、注释应该和代码同时更新,不再有用的注释要删除 ,不再有用的注释要删除。

更新注释也是一个非常必要的过程

2.4、在注释中使用非常 :避免在注释中使用非常用的缩写或者术语。

使用缩写只能使你的代码让你自己能看懂,而无法让团队或其他人知道你该函数的功能,这是百害无一利的。

2.5、注释的主要目的应该是解释为什么这么做 :注释的主要目的应该是解释为什么这么做,而不是正在做什么 ,而不是正在做什么。如果从上下 文不容易看出作者的目的,说明程序的可读性本身存在比较大的问题 ,说明程序的可读性本身存在比较大的问题,应考虑对其重构 ,应考虑对其重构。

以下都是允许的注释方式
/* active statistic task number */
#define MAX_ACT_TASK_NUMBER 1000
#define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */
/* The ErrorCode when SCCP translate
 Global Title failure, as follows // 变量作用、含义
 0 - SUCCESS 1 - GT Table error
 2 - GT error Others - not in use // 变量取值范围
 only function SCCPTranslate() in
 this module can modify it, and other
 module can visit it through call
 the function GetGTTransErrorCode() */ // 使用方法
BYTE g_GTTranErrorCode; 

3、命名规范
3.1、命名尽量使用英文单词,命名规范必须与所使用的系统风格保持一致,并在同一项目中统一 ,并在同一项目中统一。
3.2、常量、宏和模板名采用全大写的方式 、宏和模板名采用全大写的方式,每个单词间用下划线分隔 每个单词间用下划线分隔。
3.3、枚举类型 enum 常量应以大写字母开头或全部大写
3.4、名中若使用了特殊约定或缩写 :命名中若使用了特殊约定或缩写,则要有注释说明 ,则要有注释说明。
3.5、:除非必要,不要用数字或较奇怪的字符来定义标识符 ,不要用数字或较奇怪的字符来定义标识符。
3.6、使用了特殊约定或缩写 :命名中若使用了特殊约定或缩写,则要有注释说明 ,则要有注释说明。

每个人都有自己的代码风格,但一般都不建议拼音命名或缩写。

4、变量规范

关于变量规范方面,笔者认为最需要注意的是以下几点:

        1、尽量少使用全局变量

        2、变量,特别是指针变量 ,特别是指针变量,被创建之后应当及时把它们初始化

        3、尽量减少没有必要的数据类型默认转换与强制转换

5、函数、接口规范

关于函数接口规范,其实规范基本相同。

5.1、个函数仅完成一件功能 :一个函数仅完成一件功能。
5.2、编写可重入函数时,应注意局部变量的使用

总而言之,每个人都有属于自己的代码规范,但是要说自己的规范是某个大厂或企业的代码规范,这是不准确的,我们只会类似于,有很大部分相同,也有小部分差异。

posted @ 2020-09-20 01:47  唯安~  阅读(376)  评论(0编辑  收藏  举报