风格//全局变量用具有描述意义的名字,局部变量用短名字//保持一致性//函数采用动作性的名字//要准确//以缩进形式显示程序结构//使用表达式的自然形式//利用括号排除歧义//分解复杂的表达式//要清晰//使用一致的缩进和加括号风格//为了一致性,使用习惯用法//用else-if处理多路选择//避免使用函数宏//给宏的体和参数都加上括号//给神秘的数起个名字//把数定义为常量,不要定义为宏//使用字符形式的常量,不要用证书//利用语言语言去计算对象的大小//不要大谈明显的东西//给函数和全局数据加注释//不要注释不好的代码,应该重写//不要与代码矛盾
接口//隐藏实现细节//选择一小组正交的基本操作//不要在用户背后搞小动作//在各处都用同样的方式做同样的事//释放资源与分配资源应该在同一层进行//在低层检查错误,在高层处理//只把异常用在异常的情况
可移植性//盯紧标准//在主流用做程序设计//警惕语言的麻烦特性//用多个编译系统试验//使用标准库//只是用到处都能用的特征//避免条件编译//把系统依赖性局限到独立的文件里//用正文做数据交换//数据交换时用固定的字节序//如果改变规范就应改变名字//维护现存程序与数据的相容性//不要假定是ANSII//不要假定是英语