关于快速失败的联合思考

Java

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

Python

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

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

重新思考 Java 快速失败

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

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

简洁 麻利(快速) 果断

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容