1、某一模塊開始時,是否預先分析設計該有哪些小模塊構成;
--自頂向下,各個子模塊以便於實現爲目的劃分,
設計時要明確各子模塊的功能,及參數,(參數在具體實現的時候根據需要可再做改動);
2、在具體編寫代碼時,是否考慮該模塊的參數和返回值;
好的參數,便於調用;返回值明確,直指error:如:設計一套Error Code;
3、編寫代碼時,定義的變量,是否有初始化;
最好都初始化,特別是數組、指針和控制變量,有時候一些莫名其妙的結果
都是因爲沒有初始化引起的,而有些控制變量則可能導致該模塊的執行出現異常;
4、是否有參數出錯判斷,對哪些參數需要進行出錯判斷;
5、申請空間後,是否用了memset初始化;
6、申請了內存空間,在模塊結束的時候是否在適當的位置free了;
7、編寫代碼的時候,是否一直提醒自己要有編寫代碼的規範,直到成爲習慣;
8、定義指針,是否賦予空間;對沒有空間的指針作賦值等操作,會引起死機;
9、注意函數局部變量屬於堆棧空間,在函數執行完以後就不存在了。因此要以指針的形式返回函數的局部變量,需用malloc爲該變量申請一塊空間,並在用完該返回指針後進行free;