编程精粹 - Steve Maguire

编程精粹

Steve Maguire

出版时间

1993-06-01

ISBN

9787505320420

评分

★★★★★
AI导读
核心看点
  • 源自微软实战经验,聚焦C语言高质量代码编写。
  • 强调断言、单元测试与数据流跟踪等查错技巧。
  • 短小精悍,从实践倒推理论,避免常见低级错误。
适合谁读
  • 希望提升C语言编程质量与代码健壮性的开发者。
  • 从事软件开发,需深入理解调试与查错机制的工程师。
  • 追求编写无错代码,重视编程习惯与规范的技术人员。
读前提醒
  • 原书出版较早,部分技术背景需结合现代环境理解。
  • 建议边读边对照自己代码,实践书中查错与验证方法。
  • 篇幅短小,适合快速通读,重点吸收核心编程观念。
读者共识
  • 经典之作,许多程序员人手一本,口碑极佳。
  • 重读体会更深,好的编程观念与习惯才是第一位。
  • 读完促使读者重写旧代码,对基础提升帮助巨大。

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "暴露错误的关键是消除错误发生的随机性。"
  • "在原型中使用更精确类型的缺陷是常常必须进行参数的显式类型转换,以消除类型不匹配的错误,即使参数的次序正确。"
  • "如果你发现自己正打算绕过某个步骤。而它恰恰可以很容易地用来查错,那么一定要阻止自己绕过。相反,要利用所能得到的每个工具进行查错。此外,单元测试虽然意味着查错,但如果你根本就不进行单元测试也是枉然。"
  • "对于程序员来说,无定义的特性就相当于非法的特征,因此要利用断言对其进行检查"
  • "在写断言的注解时,不必长篇大论。一般的方法时使用经过认真考虑过的间断文句,它可能比用一整段的文字系统地解释出每个细节地指导性更强。但要注意,不要在注解中建议解决问题的办法,除非你能确信它对其他程序员确有帮助。做注解的人当然不想让注解把别人引入歧途。"
  • "当编写代码时,要抓住一切机会对程序的结果进行验证(调用所有其它函数的瓶颈函数,是特别适于进行这种检查的好地方)。要尽可能地使用不同的算法,而目要使其不仅仅是同一算法的又一实现。通过使用不同的算法不仅可以发现算法实现中的错误,而且还增加了发现算法本身错误的可能性."
  • "“不要让事情很少发生。”因此我们需要确定子系统中可能发生哪些事情,并且使它们一定发生和经常发生。如果发现子系统中有极罕见的行为,要干方百计地设法使其重现。"
  • "对代码进行逐条跟踪的真正作用是它可以使我们观察到数据在函数中的流动。如果在对代码进行逐条跟踪时密切地注视数据流,就会帮助你查出下面这么多的错误:  上溢和下溢错误;  数据转换错误;  差1错误;  NULL指针错误;  使用废料内存单元错误(0xA3类错误);  用 = 代替 == 的赋值错误;  运算优先级错误;  逻辑错误。"
下载
收藏