1、某一模块开始时,是否预先分析设计该有哪些小模块构成;
--自顶向下,各个子模块以便于实现为目的划分,
设计时要明确各子模块的功能,及参数,(参数在具体实现的时候根据需要可再做改动);
2、在具体编写代码时,是否考虑该模块的参数和返回值;
好的参数,便于调用;返回值明确,直指error:如:设计一套Error Code;
3、编写代码时,定义的变量,是否有初始化;
最好都初始化,特别是数组、指针和控制变量,有时候一些莫名其妙的结果
都是因为没有初始化引起的,而有些控制变量则可能导致该模块的执行出现异常;
4、是否有参数出错判断,对哪些参数需要进行出错判断;
5、申请空间后,是否用了memset初始化;
6、申请了内存空间,在模块结束的时候是否在适当的位置free了;
7、编写代码的时候,是否一直提醒自己要有编写代码的规范,直到成为习惯;
8、定义指针,是否赋予空间;对没有空间的指针作赋值等操作,会引起死机;
9、注意函数局部变量属于堆栈空间,在函数执行完以后就不存在了。因此要以指针的形式返回函数的局部变量,需用malloc为该变量申请一块空间,并在用完该返回指针后进行free;