防御性编程 防御性编程Defensive programming是防御式设计的一种具体体现它是为了保证对程序的不可预见的使用不会造成程序功能上的损坏它可以被看作是为了减少或消除墨菲定律效力的想法防御式编程主要用于可能被滥用恶作剧或无意地造成灾难性影响的程序上 主要概念若常式收到錯誤的資料即便錯誤資料是由其他常式出錯所造成此常式也不會受到傷害 防御性编程通常通过以下途径从而提高软件和源码的质量 提高工程质量减少bug和问题 提高源码可读性 源码应该变得可读且可理解并且能经受代码审计 让软件能通过预期的行为来处理不可预期的用户操作 值得注意的是过度的防御性编程可能会预防不可能会发生的错误这样将导致运行时间与维护的损耗当源码中拥有过多异常捕捉和异常处理这有可能导致结果不正确或者被隐藏