防御式编程
一,什么是防御式编程
顾名思义,防御性编程是一种细致、谨慎的编程方法。为了开发可靠的软件,
我们要设计系统中的每个组件,以使其尽可能地“保护”自己。我们通过明确地在
代码中对设想进行检查,击碎了未记录下来的设想。这是一种努力,防止(或至少
是观察)我们的代码以将会展现错误行为的方式被调用。
二,防御性编程实践技巧
1,使用好的编码风格和合理的设计。
2,不要仓促的编写代码。
3,不要相信任何人,即一个模块不要相信它的输入参数是有效的;模块不能对外部输入做假设,如果需要做假设,则在模块入口做断言或者错误检查。
4,编码要清晰。
5,代码做适当的设计,以使内部数据不会被用户随意的修改;仅暴露合适的公有接口给外部。
6,编译时打开所有警告开关。
7,使用静态代码检查工具。
8,使用安全的数据结构和api。
9,检查所有函数返回值。
10,小心的处理资源的分配与释放,避免内存泄漏。
11,变量都要初始化。
12,尽可能推迟变量声明。
13,不要使用语言的非标准部分,否则在不同的编译器会出现未定义的行为。
14,使用错误日志。
15,小心使用强制转换。