标签:不同 意义 utc 过多 思维 重要 programs 作者 信息
程序员书库(ID:CodingBook) 猿妹编译
连接:https://blog.regehr.org/archives/849
据说,一个程序员用在写程序上的时间大概占他的工作时间的10-20%,大部分的程序员每天大约能写出10-12行的能进入最终的产品的代码,而程序员写代码的时间和调试的时间比例约为1:1.5,甚至差的程序员要花去90%的时间在调试问题程序、盲目的修改程序,期望某种写法能可行。
不过随着经验的增加,一定会变得越来越好,虽然提高的主要方法是通过经验,看书也是一个不错的途径,今天,将和大家分享4本关于调试的书
这本书只有一百多页,是一本值得人人拥有的书籍,这本书涵盖了关于调试的所有内容,没有过多的涉及到工具方面,内容十分简洁
如副标题所说的那样,这本书的结构围绕9条规则,我不能确定遵循这些规则会让调试变得简单,但是如果遵循这些规则一定会让你在调试上走弯路,每个规则都使用实际例子进行解释,并被分解为子规则帮助你更好的理解。而且阅读完整本书只要几个小时。
我最喜欢的一个章节是通过一个案例讲述所有规则,她详细讲解说明了每个规则应该在什么情况下使用,另一个很好的章节是关于远程调试。本材料不是专门针对计算机编程的,而是将调试作为一种通用的过程,用于确定各种工程问题的根本原因,包括汽车发动机熄火和屋顶漏水。不过,他的大多数例子都来自嵌入式计算机系统。
与其他三本书不同的是,本书没有使用编程语言、并发错误等特定工具
Butcher的书中包含了大量Agans书中没有的重要内容,比如关于版本控制系统、日志框架、测试工具和调试内存分配器,以及工程发布的具体建议。全书讲述了如何运用方法和调试工具在客户投诉之前自动检测程序中的bug,紧紧围绕问题重现、问题诊断、缺陷修复、反思四个中心环节,并将调试置于软件开发与运行的大环境中,为我们道出了软件调试修炼之道。但是,我觉得Butcher并没有将实际的调试过程清晰地呈现出来。
Agans和Butcher从实践者的角度来进行调试。另一方面,泽勒以实践者和研究者的双重身份研究这个问题,与前两本书一样,本书对核心调试概念和技巧进行了详细的解释。此外,本书还给出了围绕实际调试实践的工具和技术列表,这在很大程度上是需要有一定的计算机科学学位的人,尤其是关于编译器基础,读这本书要花费的时间比前面两本都要多。
这本书有567页,这本书的篇幅是最长,副标题“多学科方法”指的是本书结构围绕的六种思维方式,令我感到有趣的是,这个看似详尽的列表忽略了我最喜欢的调试类比——科学,制定假设并用实验来检测他们,但作者在这一方面下的笔墨并不多
《调试九法》短小精悍,意义深远,但不包含特定情况的具体建议,最直接针对的是在硬件/软件边界工作的人员
《软件调试修炼之道》这本书并不长,但却包含了比Agans更多的软件调试方面的信息。
《Why Programs Fail》以计算机科学为重点,它对理解调试方法和工具非常有帮助,而不仅仅是建立扎实的调试技能。
不知道以上这4本书你都看过了么?
标签:不同 意义 utc 过多 思维 重要 programs 作者 信息
原文地址:https://blog.51cto.com/15060204/2566364