读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语句中语句太长,应该在对齐的情况下换行,比如以&& 结尾等。