1:函数参数检查
我们一般写一个函数,从来不会对函数的实参进行合法性检查,其实这是很不好的习惯。因为通常我们的函数不会出问题,但是如果
参数有问题,这个错误是和不好发现的。对参数的合法性检查可以提高程序的健壮性,如自动有提示,可提高可维护性。
2:确保数组越界。
我们应该时刻记住这点。如果往里存储一个字符串,别忘了,最后一位是"\0"
3:定义变量初始化
定义变量后,应该尽快对其初始化。如果未舒适化。是一个隐患。
4:malloc后判断结果。
一般在我们的课程设计中,malloc通常都会申请成功,但在实际中,仍会出现未分配成功的情况,这时,他
会返回空。所以应该首先判断该函数返回是否为空。
5:确保不是在访问空指针
如果访问一个指针类型的变量,那么应该注意判断是否为空。如果为空就不该访问它了。
6:工欲善其事必先利器
在动手编码之前,一定要先设计好算法。否则会很浪费时间和精力。编程哪一家比较好
7:注意添加注释
在复杂的代码旁边应该有适当的注释。一方面方便别人看,一方面方便自己日后看。但切忌注释泛滥。
int i; /*define a variable*/
上面的注释不仅多余,更像是侮辱阅读程序人员的智商,这种注释千万不要有,注释
应该放在程序理解比较困难的地方。
8:多使用宏定义来定义常量。
宏定义的使用可以提高程序的可维护性。方便升级和移植。
9:应该使用sizeof来计算长度。
数据类型的长度在不同的平台下是不同的。所以为了提高移植性多使用它吧。
10:标准库函数
一方面标准库函数一般都是比较高效的安全代码。所以尽量使用它。除非在特出情况下为了提高效率,放弃使用slb
11:switch 语句别忘记default
曾经就是因为忘了写它导致浪费了很多精力。
12:变量起名要有意。
要达到识名知意的程度。
13:使用assert方便调试
别忘了#include <assert.h>。
必须知道assert()只在调试版本呢中又效,在发行版本中是无效的。
14:malloc与free配对
malloc动态分配的内存属于堆空间。不会随着程序的退出而释放,所以在系统退出前要把使用到的堆空间都释放掉。
否则会造成内存泄露。
15:不要在函数内部定义较大的数组。
函数栈是有大小限制的。对于常见的C编译环境,默认栈的大小是:Cygwin为2MB,linux为8MB,windows为1mb。
如果想定义一个大的数组,不防试试malloc
16:多个参数替换为结构体传递。
一方面使函数简洁一方面减少函数入栈时压入多个参数带来的开销,方面函数调用,减少错误。
17:使用snprintf()代替sprinf()
同样的还有fgets()代替gets()。前者都比后者多了一个内存大小的限制条件。
18:遵守规矩,保持代码格式与项目相同
大家是团队合作,不是个人英雄。
19:经常的备份代码
你懂得。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。