防御式编程

来源:互联网 发布:工资标准算法 编辑:程序博客网 时间:2024/05/17 00:02

一,什么是防御式编程 

顾名思义,防御性编程是一种细致、谨慎的编程方法。为了开发可靠的软件,
我们要设计系统中的每个组件,以使其尽可能地“保护”自己。我们通过明确地在
代码中对设想进行检查,击碎了未记录下来的设想。这是一种努力,防止(或至少
是观察)我们的代码以将会展现错误行为的方式被调用。

二,防御性编程实践技巧

1,使用好的编码风格和合理的设计。

2,不要仓促的编写代码。

3,不要相信任何人,即一个模块不要相信它的输入参数是有效的;模块不能对外部输入做假设,如果需要做假设,则在模块入口做断言或者错误检查。

4,编码要清晰。

5,代码做适当的设计,以使内部数据不会被用户随意的修改;仅暴露合适的公有接口给外部。

6,编译时打开所有警告开关。

7,使用静态代码检查工具。

8,使用安全的数据结构和api。

9,检查所有函数返回值。

10,小心的处理资源的分配与释放,避免内存泄漏。

11,变量都要初始化。

12,尽可能推迟变量声明。

13,不要使用语言的非标准部分,否则在不同的编译器会出现未定义的行为。

14,使用错误日志。

15,小心使用强制转换。