1.编写代码时不要过多依赖代码写完后的测试,黑盒测试过程只是不断填充数据而已,并且有运气成分在其中。程序员
2.好的编译程序应该能够这样 ─── 能够把多次出错的合法的C 习惯用法当作程序中的错误。单元测试
3.(用于while或for及if中)为了查出不须要的空语句,编译程序经常在遇到空语句时给出一条可选的警告信息,自动警告你可能出了上面的错误。当肯定须要用空语句时,你就用。但最好用 NULL 使其明显可见。测试
4.要防止在if语句中用到=即赋值语句,要对这个发出警告(同理为位运算符)。spa
5.要会利用原型进行检查,在相应界面和原型中使用了更加精确的类型,就能够加强原型提供的错误检查能力。 原型
6.使用编译程序全部的可选警告设施 。 编译
7.使用 lint 来查出编译程序漏掉的错误 。程序
8.要保持单元测试。数据
9. /*注意:本注释将产生一个警告 */ 注释
/* 本注释不产生警告 */ while
10.把赋值号两边的操做数颠倒过来
11.为了防止误定义的预处理的宏产生不可预料的结果,编译(实际是预处理)程序应 该具备一个开关容许程序员能够把无定义的宏用于错误状况。