防御式编程是一种提高软件质量技术的有益辅助手段,其主要目的是确保子程序不会因为传入错误数据而被破坏,即使这些数据可能来自于其他子程序的错误产生。以下是防御式编程的详细解释:
- 基本释义:
- 防御式编程是一种编程方式,其核心思想是防止程序因外部输入或内部错误数据而崩溃或产生不可预见的结果。
- 主要思想:
- 子程序应该具备足够的健壮性,以应对可能的错误数据输入。
- 尽可能将可能出现的错误造成的影响控制在有限的范围内,从而保持程序的稳定性和可用性。
- 实施策略:
- 检查外部数据:对于来自外部资源(如网络、文件等)的数据,进行严格的检查,确保数据值在允许的范围内。
- 检查输入参数:对于每一个例程(routine)的输入参数值进行检查,一旦发现非法输入,则根据情况进行处理。
- 使用断言(Assertions):断言通常用于在程序的关键位置进行检查,如果断言中的条件不满足(即表示出现了错误),则程序可以根据定义的行为进行处理,如终止运行、输出错误信息或进入调试状态等。
- 作用:
- 防御式编程主要用于可能被滥用、恶作剧或无意地造成灾难性影响的程序上。
- 它有助于减少或消除墨菲定律的效力,即“如果事情有变坏的可能,不管这种可能性有多小,它总会发生”。
- 其他观点:
- 防御式编程有时也被计算机科学家称为安全编程(Secure programming),因为它关注于保护程序免受潜在的安全威胁。
- 与非防御性编程相比,防御式编程的程序员不会对特定的函数调用或库的使用情况做假设,而是会采取更加谨慎和全面的编程策略。
总结来说,防御式编程是一种强调程序健壮性和错误处理的编程方式,它通过检查外部数据和输入参数、使用断言等手段来减少程序因错误数据而崩溃或产生不可预见结果的风险。这种编程方式在可能被滥用、恶作剧或造成灾难性影响的程序中尤为重要。
© 版权声明
文中内容均来源于公开资料,受限于信息的时效性和复杂性,可能存在误差或遗漏。我们已尽力确保内容的准确性,但对于因信息变更或错误导致的任何后果,本站不承担任何责任。如需引用本文内容,请注明出处并尊重原作者的版权。
THE END
暂无评论内容