关于快速失败的联合思考

2017-01-13  本文已影响0人  _追随_

Java

最初看 Java 文档,看到对列表的修改会导致迭代快速失败的时候,就知道这个词有特定意义,并且有模糊地了解。

Python

近几日跟着教程学习 Python,看到了错误都是 run-time 运行时错误这样的话语,联想第一部分,才意识到,本语言的错误不是快速抛出的。

其实早应该在 JavaScript 中意识到的,但是对它没有经过基础系统的学习,所以没有触动的机会。

重新思考 Java 快速失败

快速失败,fail-fast,应该是在出错时立即抛出异常。相对应的,还有安全失败 fail-safe,同样修改列表的行为,你的迭代不会报错,只是它是旧的列表,所以也是失败。

什么叫快速失败,一篇 CSDN 的文章,请看前两段。国内技术论坛,皆是此类人云亦云抑或凭空臆想的言论,这样的答案,是肤浅的答案,阻塞了通往深层次技术的道路。

简洁 麻利(快速) 果断

因此才选择说这三个词。问为何不是高效,也不是精准,皆为了快速失败,为了尽快暴露错误,这也是敏捷开发的思想之一。待剪草除枝之后,再谈高效。

上一篇 下一篇

猜你喜欢

热点阅读