4 可读性4.1使用有意义的标识,避免直接使用数字

避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或宏来代替。

示例:如下的程序可读性差。

if (Trunk[index].trunk_state == 0)

{

Trunk[index].trunk_state = 1;

...  // program code

}

应改为如下形式。

#define TRUNK_IDLE 0

#define TRUNK_BUSY 1

if (Trunk[index].trunk_state == TRUNK_IDLE)

{

Trunk[index].trunk_state = TRUNK_BUSY;

...  // program code

}

5 变量与结构

5.1 谨慎使用全局(公共)变量

(1)去掉没必要的公共变量。公共变量是增大模块间耦合的原因之一,故应减少没必要的公共变量以降低模块间的耦合度。

(2)仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。在对变量声明的同时,应对其含义、作用及取值范围进行注释说明,同时若有必要还应说明与其它变量的关系。

(3)明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。明确过程操作变量的关系后,将有利于程序的进一步优化、单元测试、系统联调以及代码维护等。这种关系的说明可在注释或文档中描述。示例:在源文件中,可按如下注释形式说明。

全局变量    函数System_InitInput_RecPrint_RecStat_Score

StudentCreateModifyAccessAccess

ScoreCreateModifyAccessAccess, Modify

注: Create表示创建,Modify表示修改,Access表示访问。

其中,函数Input_Rec、Stat_Score都可修改变量Score,故此变量将引起函数间较大的耦合,并可能增加代码测试、维护的难度。

(4)当向公共变量传递数据时,要十分小心,防止赋与不合理的值或越界等现象发生。对公共变量赋值时,若有必要应进行合法性检查,以提高代码的可靠性、稳定性。

(5)防止局部变量与公共变量同名——通过使用较好的命名规则来消除此问题。

5.2 合适地定义和使用结构

结构的功能要单一,是针对一种事务的抽象

09-05 22:10