关于防御性编程,你应该知道的事

hello,大家好,我是张张,「架构精进之路」公号作者。

提起编程,对于程序员同学而言并不陌生,关于防御性编程相信大家也有所耳闻,但是它具体包括哪些内容呢?

又有哪些行之有效的处理方案呢?

我们又该如何正确应用呢?

......

898c7882f8fe5de546944622589d4fc0.png

本文作者结合实际工作中的一些应用经验,来全面解析一下防御性编程。

本文主要内容:

1、什么是防御性编程
2、防御性编程的重要性
3、输入检查
4、断言的应用
5、错误处理
6、隔离
7、防御策略及建议

1、什么是防御性编程

关于防御性编程,这一概念开始来自于汽车的防御性驾驶技术,意为你永远无法确定另一位司机将要做什么,才能确保他人做出危险动作时不会伤害到你。

c8bf3438c482f25f3c6e7ee8025a2180.png

防御性编程应用过程中,并不是指让你从保护自身,对他人持有“批判或攻击”的态度,而是将保护的意识落地到自身程序上,通过一些防御手段让你的代码程序不因传入的错误数据而出错崩溃。

大家通常会说,“代码有问题很正常的呀”,的确是这样,那更应该在编写程序的时候提高防御性的重要性,尤其核心程序能力,做好程序错误影响的包容性。

2、防御性编程的重要性

随着目前互联网已渗透到各行各业,每个细微的风险问题都可能会被放大,足以影响整个行业。

  1. 1996年6月4日,欧洲航天局的 Ariane 5 Flight 501 在起飞后 40 秒被引爆。因为导航软件里的一个 bug,这个价值 10 亿美金的运载火箭不得不自毁。

  2. 2019年1月,拼多多被爆出现重大BUG,用户可领100元无门槛券,造成大批用户开始‘薅羊毛’,一晚上200多亿都是话费充值。

  3. 2019年5月时候,部分用户反映其支付宝出现网络故障,账号无法登录或支付。支付宝官方表示,该故障是由于杭州市萧山区某地光纤被挖断导致,这一事件造成部分用户无法使用支付宝。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构精进之路

觉得不错可以请作者喝杯茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值