1、一个变量只能有一个功能,不能把一个变量当作多用途

一个变量只能有一个特定功能,不能把一个变量作为多用途使用,即一个变量取值不同的
时候其代表的含义也不同,如:

int time;
time = 200; //表示时间
time = getvalue(); //ret 用作返回值

上述代码中变量 time 用作时间,但是也用作了函数 getvalue 的返回值。应该改为如下:

int time,ret;
time = 200;
ret = getvalue();

2、不用或者少用全局变量

单个文件内可以使用 static 修饰的全局变量,这可以为文件的私有变量, 全局变量应该是模块的私有数据,不能作用对外的接口,使用 static 类型的定义,可以防止外部文件对本文件的全局变量的非正常访问。直接访问其它模块的私有数据,会增强模块之间的耦合关系。

3、防止局部变量和全局变量重名

局部变量和全局变量重名会容易使人误解!

4、严禁使用未经初始化的变量作为右值

如果使用变量作为右值的话,在使用前一定要初始化变量,禁止使用未经初始化的变量作为右值,而且在首次使用前初始化变量的地方离使用的地方越近越好!未初始化变量是 C 和C++最常见的错误源,因此在变量首次使用前一定要确保正确初始化,如:

/* 不可取的初始化:无意义* /
int num = 2;
if(a)
    num = 3;
else
    num=4

/* 不可取的初始化:初始化和声明分离 */
int num;
if(a)
    num = 3;
else
    num=4

/* 较好的初始化:使用默认有意义的初始化 */
int num = 3;
if(a)
    num = 4;

/* 较好的初始化: ?:减少数据流和控制流的混合 */
int num=a?4:3;

5、明确全局变量的初始化顺序

系统启动阶段,使用全局变量前,要考虑到全局变量该在什么地方初始化!使用全局变量和初始化全局变量之间的时序关系一定要分析清楚!

6、尽量减少不必要的数据类型转换

进行数据类型转换的时候,其数据的意义、转换后的取值等都有可能发生变化,因此尽量减少不必要的数据类型转换。