通过老师评论作出修改,相比于以前简略的代码规范,此次花时间专门了解学习了一下其余大公司/开发者的代码规范,规范更完善了一些;html
尽可能不要引用没必要要的库,包括没必要要的头文件,或引用没必要要的程序集。注重细节可以减小生成时间,最小化出错概率,并给读者一个良好的印象。程序员
缩进使用4个空格的方式。算法
尽可能减小使用全局变量。为了正确的使用全局变量,通常是将他们做为参数传入函数。不要在函数或类内部直接引用全局变量,由于这会引发一个反作用:在调用者不知情的状况下改变了全局变量的状态。这对于静态变量一样适用。若是须要修改全局变量,应该将其做为一个输出参数,或返回其一份全局变量的拷贝。编程
在最小的,包含该局部变量的做用域块内声明它。通常若语言容许,就仅在使用前声明它们,不然就在做用域块的顶端声明,并必定在声明变量的时候初始化它们,并尽可能在声明和初始化或赋值置于同一行代码内。windows
在复杂的条件表达式中,用括号清楚的表示逻辑优先级。ide
在定义不一样变量或对多个变量进行赋值时不要放在一行上,即多条语句不要放在一行上。程序结构风格使用断行和空白的{ }行,在程序调试时期须要单步执行须要断行,在程序复杂代码量大时空白{ }使结构清晰明了。每行代码限定为80字符宽,当一行装不下内容时,须要进行折行。函数
折行规则:学习
1. 在分号处折行; 2.在操做符前折行。操做符包括+,-,*,/,左括号,逗号,”&&”,”||”,问号,冒号,例外的状况是在逗号后折行; 3.当函数声明、定义、调用或 enum 声明中枚举操做符的参数列表参数较多,不能置于一行,则将每个列表元素置于单独的一行;
i : 在每一函数定义代码段前,应该有一段注释,用于说明该函数的函数名,函数功能描述,输入参数描述,输出变量说明,算法描述。例:编码
/* *-------------------------------------------------------------------------------- * Member Name : 成员函数名 * Function Description : 功能描述 * Parameter Specification : 输入参数描述 * Return Specification : 返回变量说明 * Algorithm : 算法描述 * Addtion : 附加说明,如调用说明,前置条件,后置条件。 *-------------------------------------------------------------------------------- */
ii : 关键修改的地方应加注释说明。idea
/* * Revision : 修改版本 * Revision Date and Time : 修改日期与时间 * Mender : 修改人 * Revision Description : 修改内容简要描述 */
i : 全部的类型/类/函数名都用Pascal形式:所 有单词的第一个字母都大写;
v : 若是不得已须要全局变量,则使全局变量加前缀g_(表示global)。
示例代码:
class Node; // 类名 class LeafNode; // 类名 void Draw(void); // 函数名 void SetValue(int value); // 函数名
BOOL flag; int drawMode;
const int MAX = 100; const int MAX_LENGTH = 100;
void Init(…) { static int s_initValue; // 静态变量 … }
int g_howManyPeople; // 全局变量 int g_howMuchMoney; // 全局变量
参考文章:
以及中央研究院C++ 编码规范的word文档;