1、避免使用“神秘数值”或“神秘字符”,如100,47523以及‘A’,‘C’等,涉及具体数字或者字符的最好用常量来代替。如
if(a == Type)就比if(a == 1)明确得多
if(input_char == ESCAPE)就比if(input_char == 0x1B)明确
2、类型转换的时候要用显式转换,如:y = x+(float)i,这样有助于确认你是知道发生转换的。
3、尽量不要让两个不同的数值类型进行比较。如if(i == x),i为int,x为float.
4、注意编译器的警告,尽量消除编译器的警告。
5、运算符的优先级要明确,如(10*7)/10 = 7,而10*(7/10) = 0。
6、运算表达式比较长的时候要注意中间结果是否溢出。
7、浮点数进行运算时避免数量级相差巨大的数之间的加减运算。如1000000.00+0.1可能会得到1000000.00,因为32位不能给你足够的有效数包含1000000和0.1的数值区间。因此避免对浮点数进行等量判断。
8、如果要对浮点数进行比较,可以将浮点数换成更高精度的变量类型,如float换在double,或者将浮点数换成二进制编码的十进制,或者将浮点数扩大使其变成int类型,如对浮点数进行*10、*100……
9、C语言中char数组的声明要注意预留多一个空间给‘\n’,因此最后将长度声明为CONSTANT+1。
10、能用容器代替数组的就尽量不要使用数组。