¹9-18 :不要滥用goto 语句。
说明:goto语句会破坏程序的结构性,所以除非确实需要,最好不使用goto语句。
½9-1 :不使用与硬件或操作系统关系很大的语句,而使用建议的标准语句,以提高软件的可移植性和可重用性
½9-2 :除非为了满足特殊需求,避免使用嵌入式汇编
说明:程序中嵌入式汇编,一般都对可移植性有较大的影响。
½9-3 :精心地构造、划分子模块,并按“ 接口” 部分及“ 内核” 部分合理地组织子模块,以提高“ 内核” 部分的可移植性和可重用性
说明:对不同产品中的某个功能相同的模块,若能做到其内核部分完全或基本一致,那么无论对产品的测试、维护,还是对以后产品的升级都会有很大帮助。
½9-4 :精心构造算法,并对其性能、效率进行测试
½9-5 :对较关键的算法最好使用其它算法来确认
½9-6 :时刻注意表达式是否会上溢、下溢
示例:如下程序将造成变量下溢。
unsigned char size ;
while (size-- >= 0) // 将出现下溢
{
... // program code
}
当size等于0时,再减1不会小于0,而是0xFF,故程序是一个死循环。应如下修改。
char size; // 从unsigned char 改为char
while (size-- >= 0)
{
... // program code
}
½9-7 :使用变量时要注意其边界值的情况
示例:如C语言中字符型变量,有效值范围为-128到127。故以下表达式的计算存在一定风险。
char chr = 127;
int sum = 200;
chr += 1; // 127为chr的边界值,再加1将使chr上溢到-128,而不是128。
sum += chr; // 故sum的结果不是328,而是72。
若chr与sum为同一种类型,或表达式按如下方式书写,可能会好些。
sum = sum + chr + 1;
½9-8 :留心程序机器码大小(如指令空间大小、数据空间大小、堆栈空间大小等)是否超出系统有关限制
½9-9 :为用户提供良好的接口界面,使用户能较充分地了解系统内部运行状态及有关系统出错情况
½9-10 :系统应具有一定的容错能力,对一些错误事件(如用户误操作等)能进行自动补救
½9-11 :对一些具有危险性的操作代码(如写硬盘、删数据等)要仔细考虑,防止对数据、硬件等的安全构成危害,以提高系统的安全性
½9-12 :使用第三方提供的软件开发工具包或控件时,要注意以下几点:
(1)充分了解应用接口、使用环境及使用时注意事项。
(2)不能过分相信其正确性。
(3)除非必要,不要使用不熟悉的第三方工具包与控件。
说明:使用工具包与控件,可加快程序开发速度,节省时间,但使用之前一定对它有较充分的了解,同时第三方工具包与控件也有可能存在问题。
½9-13 :资源文件(多语言版本支持),如果资源是对语言敏感的,应让该资源与源代码文件脱离,具体方法有下面几种:使用单独的资源文件、DLL 文件或其它单独的描述文件(如数据库格式)
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/