资深C++程序员都不会对C++编程规范太陌生,C++实在太复杂,以至于所有项目都需要裁剪一个子集共项目组内使用。
经过在家休息这一小段时间,我发现其实C语言更需要一个相同的规范,这就是本文的目标,最大可能规避C语言的黑暗面。
大体上分成这几个部分
1.语言标准和编译器
如果我说出建议使用C99和GCC是不是有很多人长叹一口气,不过C99事实只用到了很少一点特性,大部分编译器都支持,
比如说//注释。选择GCC是因为它广范的可获得性和一致性,而主要以GCC做为一个验证标准来看待。
2.文件格式
这部分只要求两点,一是包含基准头文件,stdc99.h。C语言的头文件实在不标准。二是使用前注释,而不是行注释和后注释。
3.数据类型选择
只选用char, unsigned char, int, double这几个基本类型,64位系统程序中应该还要增加一个long long。
不使用typedef的结构体和指针,即结构体都有前缀struct。
不使用共用体
不使用enum类型,但使用enum来定义常量。
数组类型,需要要特别说明,不强制使用。
4.函数使用
一般不使用malloc
5.表达式
接受使用+,-,*,/
除提领‘*’外,不接受++与其它运算符同时出现。
不使用&,|,^,~,<>,见后面“位操作”
不使用?:
不使用","逗号表达式,但接受在声明和函数参数中使用。
6.位操作
使用以下函数形式的宏,完成位操作。
待续未完
原文:http://www.cnblogs.com/ahuangliang/p/3548573.html