1 什么是防御性编程?
顾名思义,防御性编程是一种细致、谨慎的编程方法。为了开发可靠的软件,我们要设计系统中的每个组件,以使其尽可能的”保护”自己。我们通过明确地在代码中对设想进行检查,这是一种努力,防止我们的代码以将会展现错误行为的方式被调用。
防御性编程使我们可以尽早的发现较小的问题,而不是等到它们发展成大的灾难的时候才发现。其开发软件的过程是:
![](https://i-blog.csdnimg.cn/blog_migrate/5299f75deb7612b0b79f6ef34a456f79.png)
下面总结了一些防御性编程的反对和支持者的意见:
反对者:
它降低了代码的效;即使是一个很小的额外代码也需要一些额外的执行时间。它对于一个函数来说也许不要紧,但是对于一个由10万个函数组成的系统,问题就变得严重了。
每种防御性的做法都需要一些额外的工作;
支持者:
防御性编程可以节省大量的调试时间,使你可以去做更有意义的事情。
编写可以正常运行、只是速度有些慢的代码,要远远好过大多数时间都正常运行、但是有时候会崩溃的代码。
防御性编程避免了大量的安全性问题。
防御性编程技巧
使用好的编码风格和合理的设计
采用良好的编码风格&