防御性编程是指在大型工程中,为了开发可靠的软件,需要对很多潜在的为止的情况进行考虑,使得调用方在错误的调用你所编写的软件模块时,也要能够进行及时的扑获和处理,防止影响面扩大。通俗来说,就是软件模块要具有良好的鲁棒性。
1.在大型项目开发中,推荐使用包装类,尽可能减少基本数据类型的使用。
2.枚举类可以使用静态字符串常量进行替代
3.及时的对方法的入参数进行校验
4.善用断言,当方法中需要使用不是该方法入参的数据时,可以使用断言进行校验
5.善用工具类,如果方法返回值为集合类,那么永远不要返回null值,建议返回Collections
6.及时的对异常进行catch,必要时对throwable进行catch