11.2.4 不容忽视健壮性
在写方法时,在尽力考虑效率的同时不能忽视健壮性。健壮性(robustness,或称鲁棒性)是指在异常条件下,软件系统仍能运行的能力。当方法接收了错误的参数时,它并不失败,那我们就称方法健壮性好。健壮性讨论的是在异常条件下软件的行为,它与正确性不同,正确性讨论的是在需求规格说明中明确陈述的软件行为。内部排错与效率之间需要折中。用户排错的健壮性是不能忽视的。
(1)防止出错。软件应该能够排除用户输入错误的能力。用户不正确的输入错误不应该引起软件的中断。任何接收用户输入的方法都必须对那些有可能引起错误的输入得以证实。
方法设计者必须考虑两种出错情形:一是分析阶段中应用(用户)错误,二是问题陈述中存在的条件转述。应尽可能地保证不出现程序错误,并且即使出现致命性错误,也应该给出良好的对话提示。(https://www.daowen.com)
(2)优化程序代码。程序员往往花太多的努力来提高那些常用代码的效率,在进行优化之前,就测试程序的性能,我们会惊奇地发现大部分消耗的时间并不多。仔细研究应用,找出什么是重要的,比如最坏情况的次数及操作频率。如果可以使用多种方法实现某个操作,就应该从内存、速度及实现的简单程度等来估计折中。
(3)参数合法性。对于那些用户使用的外部操作,必须严格检査它们的参数以防失败。但内部方法已假设了它们参数的合法性,公有操作尤其要检査其参数的合法性,因为外部用户很可能破坏参数上的约束。内部或私有操作则常常假设先决条件。