C++软件编码规范推荐--程序的版式

1. 背景

  版式虽然不会影响程序的功能,但会影响程序的可读性;追求清晰、直观;

2. 规范

2.1 空行

  空行起分隔程序段落的作用。合理的空行使布局更清晰,也不会浪费内存;

  【规范】类声明后加空行;

  【规范】函数定义结束后加空行;

  【规范】函数体内,逻辑紧密的语句之间不加空行,其他地方应加空行。

  【建议】在大括号结束后添加空行。

推荐 不推荐

if (10 = width)

{

  todo();

}

//空行

other();

if (10 = width)

{

  todo();

}

other();

2.2 代码行

  【规范】一行代码只做一件事,如定义一个变量,一条语句;

  【规范】if、for、while、do、foreach等语句独占一行,无论执行多少语句都要加{}。

推荐 不推荐

  if (nullptr == data)

  {

    printf("data is null\r\n");

  }

if(nullptr == data) printf("data is null\r\n");

  

  【建议】尽量在定义变量的同时初始化该变量(如果该变量不支持RAII)。

推荐 不推荐

int width = 10;

int height = 10;

int depth = 10;

int width,height,depth;

  【建议】变量的定义和使用最好相连。

2.3 代码内的空格

  【规范】关键字之后要留空格。比如const、virtual、inline、case等;if、for、while等关键字。

  【规范】函数名之后不要加空格;‘,’之后要加空格;‘;’除了行结束符合其余要留空格;

  【规范】复制操作符、比较操作符、算术操作符、逻辑操作符、位域操作符等二元操作符的前后都要加空格;

  【建议】对于表达式比较长的for语句和if语句可适当去除空格;

推荐 不i推荐

if ()

{

  //todo

}

if()

{

        //todo

}  

  fun(x, y, z)

fun(x,y,z)

  a += b

a+=b

  a++

a ++

2.4 对齐

  【规范】程序的分界符‘{’和‘}’独占一行,位于同一列。

2.5 长行划分

  每一个代码行最大长度在70~80个字符之间。

2.6 修饰符位置

  【规范】将修饰符*和&紧靠变量名,比如int *a;

2.7 注释

  源程序有效注释量必须在20%以上。

  C语言的注释为“/*......*/”,C++语言,程序块的注释常用“/*......*/”,行注释一般用“//........”。注释通常用于:

  • 版本、版权声明;
  • 函数接口说明;
  • 重要的代码行或段落提示。

  【规范】注释要言简意赅,切勿喧宾夺主,准确、易懂;

  【规范】无用的注释请删除;

  【规范】注释应与代码相邻,代码较长时,请在段落结束处添加注释;

  【规范】函数注释必须包含功能描述、参数介绍、作者、创建时间、修改内容(时间、内容、修改人)等相关内容;

//**********************

//函数名:    openFile

//全称:       FileManage::openFile

//访问类型:public

//描述:       打开文件

//返回值:    int         错误码

//参数:       filePath  文件路径

//作者:       yuanshuai

//时间:       2022.11.14

//***********************************

int openFile(QString filepath); 

2.8 类的版式

  【建议】将public类型的函数写在前面,而将private的类型的数据写在后面,“以行为为中心”,重点关注的是类应该提供什么样的接口(或服务)。

  

class A

{

public:

        void func1(void);

        void func2(void);

        ...

private:

        int i;

        double j;

}

 

结束:每个人都要自己的编码规范,一定要养成好的代码规范。

posted @ 2022-11-14 15:01  ys_nana  阅读(102)  评论(0)    收藏  举报