1.編寫代碼時不要過多依賴代碼寫完後的測試,黑盒測試過程只是不斷填充數據而已,並且有運氣成分在其中。程序員
2.好的編譯程序應該能夠這樣 ─── 能夠把多次出錯的合法的C 習慣用法當作程序中的錯誤。單元測試
3.(用於while或for及if中)爲了查出不須要的空語句,編譯程序經常在遇到空語句時給出一條可選的警告信息,自動警告你可能出了上面的錯誤。當肯定須要用空語句時,你就用。但最好用 NULL 使其明顯可見。測試
4.要防止在if語句中用到=即賦值語句,要對這個發出警告(同理爲位運算符)。spa
5.要會利用原型進行檢查,在相應界面和原型中使用了更加精確的類型,就能夠加強原型提供的錯誤檢查能力。 原型
6.使用編譯程序全部的可選警告設施 。 編譯
7.使用 lint 來查出編譯程序漏掉的錯誤 。程序
8.要保持單元測試。數據
9. /*注意:本註釋將產生一個警告 */ 註釋
/* 本註釋不產生警告 */ while
10.把賦值號兩邊的操做數顛倒過來
11.爲了防止誤定義的預處理的宏產生不可預料的結果,編譯(實際是預處理)程序應 該具備一個開關容許程序員能夠把無定義的宏用於錯誤狀況。