C++开发规范

一、文件起始处的说明:

在 .h / .cpp文件开头应有一段格式统一的说明,内容包括:

①文件名(FileName);

②创建人(Creator);

③创建时间(Data);

④简短的文件功能、用途说明(Comment)。

示例:


/*                                    */
/* FileName : main.cpp                */
/* Creator : Xnsio                    */
/* Data : 2022-02-20 13:49:32         */
/* Comment :                          */

二、注释

除非极为简单,否则对应函数应有注释说明。包括功能、入口 / 出口参数,必要时还可有备注或补充说明。

(1)对于 if、while、do等其大括号内嵌代码块较长(需拖动滚动条来看)或者多层嵌套时,在结尾的 “ } ” 后应有说明。示例:

if ((n >= i || n < j) && k = i)
{
    代码段
}//......

(2)函数入口有缺省值时,应有说明。示例:

bool mainfirm(
    char* cp,
    bool m_cancle = false,  /* = false */ 
};

bool mainfirm(
    char* cp,
    bool m_cancle = false,  // = false  
};

(3)说明某个代码段的注释,可以给其代码段加上{}帮助阅读。示例:

// 代码段实现功能或意图描述
{
    代码段
}

三、单行代码长度

单行代码长度一般推荐为80个ASCII字符,最长不得超过120个字符。折行应对齐。示例:

int intAdd(int a, int b, int c, 
                int d, int e);

四、合并行的问题

循环、判断语句的判断条件和执行代码不得在同一行上。示例:

正确:

if (n >= 0)
    n = -1;
else
    n = 1;

不得写作:

if (n >= 0)    n = -1;
else    n = 1;

五、指针中 * 号的位置

在指针的定义当中,* 号可以紧接类型,也可以在变量名之前。示例

正确:int*  p;

           int  *p;

不得写作:

           int  *  p;

六、全局函数的调用

在类方法内调用全局函数,全局函数名前必须加上“::”。

七、关于 if...else if

else if必须写在一行。

八、与“{” “}”有关的各项规定

(1)在“{”前不允许有除了空格和Tab外的任何字符,在它后可以有注释,但不得有代码。与“{”对应的“}”必须在同一列上。示例:

正确:

for (i = 0; i < n; i++)
{ //...
    cout << "i=" << i << endl;
    s++;
}

不得写作:

for (i = 0; i < n; i++)
{   cout << "i=" << i << endl;
    s++;
}

也不得写作:

for (i = 0; i < n; i++){
    cout << "i=" << i << endl;
    s++;
}

(2)在循环、判断语句后若只有一行代码,在无歧义的情况下可省略“ { ” “}”。示例:

if (n >= 0)
    n = -1;
else
    n = 1;

九、与空格有关的各项规定

(1)在所有两目、三目运算符的两边都必须有空格;在单目运算符两边不必空格;但在“->” “::” “.”“[” “]”等运算符前后,及“&” “*”等运算符之后不得有空格。示例:

正确:

int n = 0, i;
for (int i = mMin; i <= mMax; i++)

不得写作:

int n=0,i;
for ( int i=mMin;i<=mMax;i++ )

(2)for、while、if等关键字后应有1个空格,再接“(”。示例:

正确:

if (0 == n)

不得写作:

if(0 == n)

(3)调用函数、宏时,“(”前不得有空格。示例:

正确:

printf("%d", n);

不得写作:

printf ("%d", n);

(4)类型强制转换时,“(” “)”前后不得有空格。示例:

可以写作:

(int*)doubleivar
(int *)doubleivar

不得写作:

(int* )doubleivar
(int * )doubleivar

十、与缩进有关的各项规定

(1)缩进以Tab为单位。1Tab应设置为4个空格宽度。

(2)下列情况,代码缩进一个Tab。

①函数体相对函数名及“{” “}”。示例:

int intpow(int n)
{
    return (x * x);
}

②if、else、for、while、do等之后的代码。

③一行内写不下,折行的代码,应在合理位置折行。若有“+” “-” “*” “/” 等运算符,则运算符应在上一行行末,而不应该在下一行行首。

(3)switch后的case、default不必缩进。示例:

switch (n)
{
case 1:
    ...
case 2:
    ...
default:
    ...
}

----------------------------------------------------------The End----------------------------------------------------------

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值