c++程序编码规范

一 命名

1.使用英文单词,而不是拼音或中文
2.组成单词不超过四个,长度在3~30
3.避免和关键字重复
4.方法名、参数名、字段和变量:使用Camel命名法。首字母小写,其他单词的首字母大写,剩余字母小写。多个名词直接相连(驼峰式)或使用"_"相连(下划线式)
5.枚举、属性、类名和委托:使用Pascal命名法。所有单词首字母都大写。单词之间或多个单词之间使用下划线连接。同一类使用相同的前缀
6.宏定义常量采用完整大写。
7.全局变量以g开头,单词首字母大写。

所有变量定义时必须进行显式初始化。
即使是全局变量、静态变量,同样要在定义进行显式初始化。

例:

//c++
//变量
struct sockaddr_in sinAddr={0};
int ret=0;
//不正确命名
struct sockaddr_in sinAddr;
int ret;

//枚举变量
FLAG_BANANA
FLAG_APPLE
FLAG_ORIGNE
STUDENTFLAG_INFORMATION
//全局定义的常量
#define MAXSIZE 65507
//全局定义变量
int  gInformation = 10;
//结构体
struct ProxyParam {
    SOCKET clientSocket;//变量命名
    SOCKET serverSocket;
};

二 函数

函数声明/定义处的参数变量名要对应一致,参数过多可以分成多行。

int ConnectServer(SOCKET* serverSocket, char* host);

三 注释

使用//进行注释,多行注释可使用“/* …… */”

对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时都必须加以注释,说明其物理含义。变量、常量、宏的注释应放在其上方相邻位置或右方。

数据结构声明(包括结构体、枚举、类等),如果其命名不是充分自注释的,必须加以注释。对数据结构的注释应放在其上方相邻位置;对结构中每个域的注释放在该域的右方。

全局变量必须有注释,包括对其功能、取值、及其他注意事项等的说明。

//标志是否通过锁卡流程;TURE = 通过锁卡流程,FALSE = 锁卡流程失败
PUBLIC BOOLEAN g_isLockCardPass = FALSE;

函数注释:

//************************
// Function: // 函数名称
// Description: // 函数功能描述
// Param: // 参数说明,包括参数的作用、取值范围等,格式如下:
// param1: 输入输出类型[IN/OUT/INOUT] 说明
// param2: 输入输出类型[IN/OUT/INOUT] 说明
// …
// Return: // 函数返回值说明
// Others: // 其它说明
// Author: // 作者
//*************************

对于switch语句下的case语句,如果因为特殊情况需要处理完一个case后进入下一个case处理,必须在该case语句处理完、下一个case语句前加上明确的注释。
说明:这样比较清楚程序编写者的意图,有效防止无故遗漏break语句。

case CMD_A:
ProcessA();
break;

case CMD_B:
ProcessB ();
// 跳转到case CMD_C

case CMD_C:
ProcessC();
break;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值