linux ,c/c , web,前端,php,js
(782)
(8)
(28)
(110)
(307)
(329)
分类: 项目管理
2013-03-12 09:31:21
原文地址: 作者:luozhiyong131
避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或宏来代替。
示例:如下的程序可读性差。
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 合适地定义和使用结构
结构的功能要单一,是针对一种事务的抽象