有一本书,你可曾记得或听过

图片来自网络

有一本书,一直等它再版,这一等就是8年,至今没有再版。但这并不妨碍我时常去阅读它,而这一读就是13年。这本书便是《CODE COMPLETE》,中文版名称《代码大全》。


那个年代买书还没有京东、也不去亚马逊。买书的网站是当时三足鼎立的购书网站,当当网、卓越网、互动网,关于互动网可能有很多人已不记得了,互动网(www.china-pub.com)可是 在当时有很多技术书籍选择的首发的购书网站。


这本书,翻烂了一本,送人了一本,目前手里的这本是在2016年买的。算下来一共买了三本,而且是我为数不多的反复翻看的一本书。


它的第一版,是在2006年,记得很清楚,我看到当时一个小伙伴捧着它,借来翻看了几页,从此便爱不释手。当时网上流传着这样一段话,"程序员去一座孤岛,如果只能带一本书,它便是唯一的那本"。


这本书一共885页,从防御式编程到编码风格都有涉及,既教我们如何使用条件语句和如何控制程序的循环这样的基本操作,也教我们什么样的软件是好的,团队里又是如何协同开发等等这样的上层指导原则,甚至还有个人性格对软件工艺的影响。可谓大全。


这本书的中文名称是有"大全"两字,书中的内容似乎也在和这两个字遥相呼应,内容饱满而丰富。但实际上"大全"两字的翻译是一个无伤大雅的翻译"错误",《CODE COMPLETE》实际上是指"编码完成"的意思,是软件开发生命周期上的一个重要里程碑。


根据书中出版人感言的描述记载,2003年的夏天,博文视点刚成立不久,他们寻求这本书的中文出版权,版权的授予过程可谓一波三折,象故事一样描述在了本书的刚开始的部分。一向喜欢读前言和作者自序的我对这段描述记忆深刻。


谁曾想,十几年之后,我也在博文视点出了一本书,而且在最后一章,还把《代码大全》这本书列为了程序员应读的四本书之一。想想也是挺有意思的一件事情。


我们需要阅读各种书籍,有的需要反复读,有的可粗略读。这本书便可以反复读,它经受住时间的变迁。


"每个行业的工程人员都要了解其工作用的工具极其材料的限制。如果是电气工程师,就该知道各种金属的电导率,以及电压表的上百种用法;如果是建筑工程师,就该知道木材、混凝土和钢铁的承载量。"


那么,"假如你是软件工程师,基本的建造材料就是你的聪明才智,主要工具就是你自己"。


我们大家目前都身处一个绝好的软件时代,一个高速发展的时代。我们所经历的技术、产品和各种思维及软件模式日新月异。同时我们每天又都面临各种问题,常常从解决问题的昨天走向更多问题的明天。


世界著名软件大师Chris说过,架构就是取舍,进而架构师就是做出取舍的人。那么在解决问题之外的有限时间内,读书学习也要做出一种取舍。要把精力集中在阅读优秀的书籍上。



写在购此书第一本之后的十三年后的一个夏天的中午。

做一个有技术没脾气,懂得分享,虚心学习的程序员。—某程序员

推荐阅读更多精彩内容

  • 咱们接着“谷歌小哥出品程序员必读书单1.0(上)”继续说。 软件开发 1. 编程实践 Brian Kernigha...
    图灵教育阅读 69,611评论 1 125
  • Java程序员在入门时,最痛苦的事情莫过于选择入门书籍,很多的同学在会咨询我,推荐下应该看什么书。市面上很多人都会...
    加油小杜阅读 243评论 2 4
  • 【士16:1/31节】参孙到了迦萨,在那里看见一个妓女,就与她亲近。有人告诉迦萨人说:“参孙到这里来了!”他们就把...
    蒙恩的聖徒阅读 38评论 0 1
  • 今天共读了《亲爱的安德烈》之《我是百分之百的混蛋》。 这是安德烈看了一个关于阶级跟贫富差异、社会公义的电影《好日子...
    引领盈盈阅读 9评论 0 1
  • 没有不好的学生,只有不好的教育 咸慧师编著 工 读 学 校 马卡连柯是工读学校的创始人,工读学校是普通学校与社会之...
    traf阅读 20评论 0 0