||
1 谨慎使用全局(公共)变量(1)去掉没必要的公共变量。公共变量是增大模块间耦合的原因之一,故应减少没必要的公共变量以降低模块间的耦合度。 (2)仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。在对变量声明的同时,应对其含义、作用及取值范围进行注释说明,同时若有必要还应说明与其它变量的关系。 (3)防止局部变量与公共变量同名——通过使用较好的命名规则来消除此问题。 2 数据类型间的转换(1)编程时,要注意数据类型的强制转换。当进行数据类型强制转换时,其数据的意义、转换后的取值等都有可能发生变化,而这些细节若考虑不周,就很有可能留下隐患。 (2)对编译系统默认的数据类型转换,也要有充分的认识。 示例:如下赋值,多数编译器不产生告警,但值的含义还是稍有变化。 char chr; unsigned short int exam; chr = -1; exam = chr; // 编译器不产生告警,此时exam为0xFFFF。 (3)尽量减少没有必要的数据类型默认转换与强制转换。例如,所有的 unsigned类型都应该有后缀“U”以明确其类型。 (4)合理地设计数据并使用自定义数据类型,避免数据间进行不必要的类型转换。 (5)对自定义数据类型进行恰当命名,使它成为自描述性的,以提高代码可读性。注意其命名方式在同一产品中的统一,并且保证没有多重定义。使用自定义类型,可以弥补编程语言提供类型少、信息量不足的缺点,并能使程序清晰、简洁。 示例:可参考如下方式声明自定义数据类型。下面的声明可使数据类型的使用简洁、明了。 typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned int DWORD; 下面的声明可使数据类型具有更丰富的含义。 typedef float DISTANCE; typedef float SCORE; (6)不要用八进制数——整型常数以”0“开始会被认为是8进制。示例: code[1]=109 code[2]=100 code[3]=052 code[4]=071 如果是对总线消息初始化,会有危险。 |
Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )
GMT+8, 2024-11-24 02:36 , Processed in 0.030049 second(s), 17 queries , Gzip On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.