谈下防御性编程

防御性编程

思想指导:编码时,预见坏的情况,尽量保护自己,避免在将来出现问题。

它解决不了出现错误,也不是一种测试,更不是调试,它是一种根据出错经验在编码的时候预见性的设想边界问题并设计对策的思想。

需要在开发时间和设计系统的健壮性之间权衡。是一种编程习惯,但需要在取舍之间切换这个思想。

具体:

  1. 做好设计
  2. 不要相信用户,以及维护者
  3. 编码目标是清晰,不是简洁。不要为了简洁搞的更复杂。
  4. 不要让你的维护者做更多的事情。
  5. 检查返回值
  6. 处理内存
  7. 避免强制转换,规范并统一数据类型。
  8. 提供默认值
  9. 预估数值上下限,避免溢出。
  10. 各种错误处理,尽量考虑用户无感处理或者明显提示,跳转等。一般使用loading和disable禁止用户接下去的操作。
    1. 网络错误
    2. 弱网错误
    3. 边界错误
    4. 第三方接口错误
  11. 检查判断,避免空白屏和无数据展示。
  12. 前端校验

其实这种思想在框架里面多多少少都接触过,或者在学习编程的时候,老师多多少少都透露过这种习惯或者思想的指导。只不过如今被一个名词代替成为了体系的一部分或者面试的一部分谈资罢了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值