标签:变量命名 deb 释放 输入参数 定义变量 析构 str 前缀 参数
1、在每个类声明之火、每个函数定义结束之后都要加空行
2、if ,for,while,do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都加上{ },方便代码阅读,防止书写失误
3、尽可能在定义变量的同时初始化该变量(就近原则),对于头文件的指针变量最好在构造函数中赋NULL
4、‘(’向后紧跟,‘,’,‘)’,‘;’向前紧跟,紧跟处不留空格
5、‘,’之后要留空格,如Function(x, y, z), 如果‘;’不是一行的结束符号,其后要留空格,如for (int i = 0; i<n; ++i)
6、对于“=”、“+=”、“>=”、“%”、“||”、“<<”等二元操作符的前后应当加空格
7、对于“!”、“~”、“++”、“--”、“&”(取地址)等一元操作符前后不加空格
8、对于表达式比较长的for语句和if语句,为了紧凑可以适当去掉一些空格,如for (i=0; i<10;++i)和if ((a<=b) && (c<=d))
9、长表达式要在低优先级操作符处拆分成新行,操作符放在行首突出。拆分的新行要适当缩进,整齐排版
如:
if ((very_longer_varible1 >= very_longer_varible12)
&& (very_logner_varible2 >= very_longer_varible22)
&& (very_longer_varible3 >= very_longer_varible32))
10、变量命名规则首选Microsoft公司的“匈牙利”法:变量名=属性+类型+对象,若是指针变量加前缀p,常量全大写 const int MAX = 100,其他变量用类似方法
11、不可将浮点变量用“==”或是“!=”与任何数据比较,正确方式:if ((x>=-EPSINON) && (x<=EPSINON)) ,EPSINON是允许误差,即精度
12、if判断中 if (bool)或是if (int ==0)或是if (p==NULL),p为指针
13、在多重循环中,如果允许,应当将最长的循环放在最内层,最短循环放在最外层,以减少CPU跨切循环的次数
14、一般将目的参数放在前面,源参数放在后面:void StringCopy(char *strDestination, char *strSource)
15、如果输入参数以值传递方式传递对象,应该用“const &”方式传递,节省临时对象的构造和析构过程,提高效率
16、函数体的规模要小,尽量控制在50行以内,函数之间低耦合方便调用
17、使用断言,assert仅在VS中debug版本起作用,帮助我们找到错误发生的原因,使用断言要明确注释
18、在malloc或是new申请内存之后,应该立即检查指针值是否为NULL,方式使用指针为空的内存,free或是delete释放内存之后,立即将指针设置为NULL,防止产生“野指针”
19、
标签:变量命名 deb 释放 输入参数 定义变量 析构 str 前缀 参数
原文地址:http://www.cnblogs.com/weizhixiang/p/6259089.html