防御性编程
维基百科,自由的 encyclopedia
防御性编程(Defensive programming)是防御式设计的一种具体体现,它是为了保证,对程序的不可预见的使用,不会造成程序功能上的损坏。它可以被看作是为了减少或消除墨菲定律效力的想法。防御式编程主要用于可能被滥用,恶作剧或无意地造成灾难性影响的程序上。[1]
此条目需要扩充。 (2017年12月6日) |
此条目需要补充更多来源。 (2017年12月6日) |
主要概念:若例程收到错误的资料,即便错误资料是由其他例程出错所造成,此例程也不会受到伤害。[2]
防御性编程通常通过以下途径,从而提高软件和原始码的质量:
- 提高工程质量——减少bug和问题
- 提高原始码可读性—— 原始码应该变得可读且可理解,并且能经受代码审计。
- 让软件能通过预期的行为来处理不可预期的用户操作。
值得注意的是,过度的防御性编程可能会预防不可能会发生的错误,这样将导致运行时间与维护的损耗。当原始码中拥有过多异常捕捉和异常处理,这有可能导致结果不正确或者被隐藏。