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

2018-08-17 15:52

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

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

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

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

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

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

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

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

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

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

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

  关注“大数据”(ID:hzdashuju)并在后台回复20,可参与寻找活动,领取当当购书券

  点击阅读原文,可查看&购买Bruce Eckel著作《Java编程思想》