分享

Bruce Eckel最新演讲:调bug就是浪费生命!放弃吧!(附完整PPT)

 heii2 2018-05-29

导读:bug和可恢复错误是两个不同的概念。


程序员花在bug上的大量时间,实际上都被浪费了。面对bug,我们应该采用的方法叫做“快速失败”(Fail-fast)。


有时候你可能会遇到“面向铁路的编程”:一旦你踏上失败的轨道,你几乎永远不会回头。


5月18日,2018全球软件与运维技术峰会(WOT)在北京举行,大数据(ID:hzdashuju)的小编应主办方邀请到现场围观。本次WOT的一大亮点就是请到了Bruce Eckel这位神级人物,他在现场发表了题为'Failing at Failing: How and Why We've Been Moving Away From Exception Handling'(我们为什么、又该怎样告别异常处理)的演讲,并与粉丝互动,随后又进行签名售书活动。


▲大神的签名真是萌萌哒


Bruce Eckel是MindView公司的总裁,该公司向客户提供软件咨询和培训。他是C++标准委员会拥有表决权的成员之一,拥有应用物理学学士和计算机工程硕士学位。从1984年至今,他已经发表了超过150篇计算机技术文章,出版了6本书。他的《C++编程思想》一本书在1995年被评为“最佳软件开发图书”,《Java编程思想》被评为1999年Java World“最受读者欢迎图书”,并且赢得了编辑首选图书奖。这两本书的英文影印版及中文版均已由机械工业出版社引进出版。


▲Bruce Eckel在WOT


在演讲中,Bruce Eckel提出,当前编程面临的三大挑战是编程语言的设计和影响、并发性以及错误的处理和报告。



编程语言设计以及它所造成的影响是第一个也是最重要的一个挑战,它关系到程序员的效率和生产力;关于并发性,他仍在不断学习、加强这方面的知识;而这次演讲的重点就放在错误的处理这方面。


而重点中的重点是,bug和可恢复错误是两个不同的概念。



Bruce Eckel表示,很多时候我们是无法从错误当中进行恢复的,大部分的错误都是不可恢复的,他们都是bug。程序员花在bug上的大量时间,实际上都被浪费了。所以我们要一定要区分开bug和可恢复错误,如果出现了bug我们是没有办法处理的,不要在bug上浪费时间。



bug使得我们的代码可读性更低,使得整个程序运行速度更慢,消耗掉了大量的资源。面对bug,我们应该采用的方法叫做“快速失败”(Fail-fast),我们不会使用任何的恢复机制。所有的这些问题都是不可恢复的,比如说错误的函数,或者是内存不够,我们就需要去放弃他们,而不是说写代码去绕过他们。



可恢复的错误呢?一般来说都是来自于程序外部的一些东西,比如I/O的问题、数据的问题。可恢复错误一般比例很小,其数量是要远低于10%的。



编程语言是否需要异常处理?它可能有用也可能没用。不同语言的处理方式和效果也各自不同。在这方面,Java其实是有漏洞的。



最后,Bruce Eckel谈到了一些未来的趋势,并对本次演讲进行了简单的总结,再次强调了放弃的哲学。有时候你可能会遇到“面向铁路的编程”:一旦你踏上失败的轨道,你几乎永远不会回头。



本文内容整理自Bruce Eckel在WOT的演讲稿及PPT。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多