首页 > 编程语言 >C++软件编码规范推荐--程序的版式

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

时间:2022-11-14 15:13:00浏览次数:44  
标签:空行 空格 10 -- 规范 C++ 注释 int 版式

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;

}

 

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

标签:空行,空格,10,--,规范,C++,注释,int,版式
From: https://www.cnblogs.com/ysnana/p/16877464.html

相关文章

  • linux下使用wget命令提示cannot verify cmake.org's certificate
      1、在使用linux下载cmake编译器时,提示如上图错误可以看到上图提示,使用--no-check-certificate参数即可 ......
  • vue
    一、vue核心1、vue简介1.1、vue概念动态构建用户界面的渐进式JavaScript框架1.2、vue特点采用组件化模式,提高代码复用率、且让代码更好维护 声明式编码,让编码人员......
  • C++11中enable_shared_from_this的用法解析
    转载:https://blog.csdn.net/breadheart/article/details/112451022什么是enable_shared_from_this?下面摘自cppreference中概述C++11开始支持enable_shared_from_......
  • Win10副屏模糊
    第一步:选择副屏并将当前副屏的缩放大小设置为自定义。第二步:将自定义的数值设置为当前屏幕缩放大小+1即可,比如我当前的缩放为100那我就设置为101。(注销才能生效) ......
  • windows通过cmd查找端口占用
    windows通过cmd查找端口占用1.查看端口占用情况netstat-ano  2.查看某个端口被占用情况netstat-ano|findstrxxxx//xxxx为查询的端口号  3.......
  • Vue生命周期
    Vue生命周期有四个阶段,八个函数:beforeCreate(){console.log("beforeCreate:创建之前")},created(){console.log("created:创建完成")},beforeMo......
  • CSP-S 2022 题解
    T1假期计划\(\ttloj3899\)/\(\ttuoj773\)首先数据规模是\(n\le2500\),提示我们用\(\mathcalO\left(n^2\right)\)的算法。既然是选择\(4\)个互不相同的点,不妨......
  • R语言如何做马尔可夫转换模型markov switching model|附代码数据
     全文链接:http://tecdat.cn/?p=6962假设有时间序列数据,如下所示。经验表明,目标变量y似乎与解释变量x有关。然而,乍一看,y在水平中间波动,所以它似乎并不总是有稳定的关......
  • C++中sort函数、1.4最长公共子串
    sort()即为用来排序的函数,它根据具体情况使用不同的排序方法,效率较高。sort在实现时避免了经典快速排序中可能出现的会导致实际复杂度退化到O(n2)的极端情况。使用sort()......
  • MATLAB图像倾斜校正算法实现:图像倾斜角检测及校正|附代码数据
     全文下载链接:http://tecdat.cn/?p=13981 在本文中,随着多媒体技术的不断发展,数码相机,高清拍照手机等多媒体设备己经在人们的生活中占据了越来越重要的地位 ( 点击......