读google c++ style的总结。
?
1.?? ? 头文件应该尽量写在.m里面。应该用前置声明代替,为了减低编译依赖,防止修改一个头文件引发的多米诺效应。
2. ? ? 定义函数时参数顺序为:输入参数在前,输出参数在后。
3.?? ? 包含文件的名称和顺序:c库,c++库,其他库,项目内部的库。
4.???? 将函数变量尽可能置于最小作用域内,在声明变量时将其初始化。但是如果有个循环要重复调用变量的方法。则应该把声明和初始化分开,避免声明很多次。
5.???? 尽量不用全局变量和全局函数。函数应该尽量短小,功能单一。
6.???? 尽量减少使用变长数组,因为他会在堆栈上根据数据分配大小可能导致难以发现的内存泄露。
7.???? 运行时类型识别也应该禁止。因为运行时识别类型意味着设计有问题。
8.???? 自增自减的时候,对于简单数值来说,两种都行,对迭代器和摸板类型来说,要使用前置自增,自减,所有用的时候都用自增,自减就行了。
9.???? 使用宏的时候尽量用枚举,和常量代替之。
10.?? 指针用NULL,字符串用‘\0’;sizeof() 里面尽量用变量名代替类型名。
11.?? const 能用则用,提倡const在前。
?
12?? 命名的规范:
?????? 尽可能给出描述性名称,不要节约空间。 比如:int num_errors? ; int num_completed_conns.? 类型和变量名一般为名词:如:FileOpener .num_errors.
函数名通常是指令性的,如OpenFile(),set_num_errors()访问函数的时候需要描述更细致,更吻合。 不要省略字母的缩写。
13?? 文件命名用_分割。结构体的数据成员可以和普通变量一样,不用像类那样接下划线。
14?? 常量命名的时候在名称前加k :如:kDaysInAWeek.
15??? 普通函数名字,以大写字母开头,每个单词首字母大写,没有下划线。
16??? 枚举命名应该全部大写,单词间下划线分割。
17??? 枚举名称是属于类型的,所以应该大小写混合,而里面的元素应该全部用大写。
18.?? 如果用宏的话,命名也是全部大写单词之间用下划线分割
19??? 全局变量用g_开头。
20?? 注释的风格尽量统一,用//就好了
21.?? 文件注释中,在每一个文件开头加入版权公告,然后是文件内容描述。
22??? 一般在代码前面加注释,如果有几个在同行可以添加的话,那么也可以加在同行的后面,这样可能感觉会更好。
23??? 在参数的后面加上注释,注意永远不要用自然语言翻译代码作为注释,要假设读代码的人比你强。
24??? 对于那些临时,短期的解决方案,应该使用TODO注释,。目的是方便以后的查找。
25??? if 语句 括号内部不应有空格,尽量都加大括号,else必须和if保持一致。
26?? 如果if语句中语句太长,应该在对齐的情况下换行,比如以&& 结尾等。