程序员修炼之道(第2版)

[美] David Thomas

出版时间

2020-03-31

ISBN

9787121384356

评分

★★★★★

标签

编程

书籍介绍
这不是一本教你某种具体技术或框架的书。它的价值恰恰在于「不依赖特定语言、框架和方法」——二十年间技术栈更迭不息,而书中提炼的务实哲学却能反复重读、常读常新。真正打动读者的,是它把编程从「写代码」提升为「一门技艺」:关注你的技艺、关掉辅助驾驶、把质量要求当作需求问题来对待。它不提供一劳永逸的标准答案,而是反复强调「世间没有完美的方案,都是当下利弊的抉择」,逼你亲自判断、亲自取舍。因此它两极分化明显:老手觉得是「正确的废话」,新手又容易轻视这些前人经验——工程实践里的真知,终究要靠自己反复咀嚼、落地验证,正如「看书并不能学会游泳」。它适合那些愿意把做事原则内化为自身习惯、而非只求速成的程序员。
作者简介
Dave Thomas 喜欢驾驶单引擎飞机飞行,而之所以能负担这样奢侈的爱好,是因为他擅长于为各种难题寻找优雅的解决方案,提供诸多领域的咨询服务——航空、银行、金融服务、电信、交通运输及互联网。1994年移居美国前,他在英国创立了一家通过 ISO9001 认证的软件公司,为世界各地的客户开发成熟、定制的软件项目。Dave 现在是一位独立顾问,居住在美国得克萨斯州达拉斯。 Andy Hunt 是一位热情的木匠和音乐家。奇怪的是,他另一个顾问的身份更为人们所推崇。他的工作领域包括电信、银行、金融服务、公共服务,以及一些更奇特的领域,比如医学成像、图形艺术、互联网服务。他的专长是把经过验证的技术与先进的技术融合在一起,创建各种新颖且实用的解决方案。Andy 在美国北卡罗莱纳州罗利市拥有自己的顾问公司。
AI导读
核心看点
  • 99条务实提示,覆盖哲学、方法、工具等全维度。
  • 不依赖特定语言,强调解耦、重构与持续学习。
  • 从新手到架构师,提供从代码到团队的通用智慧。
读者共识
  • 经典之作,值得反复阅读,常读常新。
  • 翻译质量高,云风译本备受推崇。
  • 虽部分观点显陈旧,但核心思想永不过时。
精彩摘录
  • "项目团队 你是否注意到,一些项目团队非常高效,每个人都知道该做什么,并做出了充分的贡献;而其他一些团队的成员却总是争吵不休,似乎无法相互谦让? 通常这就是一个正交性问题。当团队组织重复到架屋迭床时,成员会对职责感到困惑。每修改一个东西都需要整个团队开会,因为修改会影响每个人。 如何将团队组织成职责明确、重叠最少的不同小组?没有简单的答案。这一定程度上取决于具体项目,以及你对可能发生变化区域的分析;同时还取决于你能调用的人手。我们的首选做法是,先将基础设施从应用程序中分离出来,让每个主要的基础设施组件(数据库、通信接口、中间件层等)都有自己的子团队,让应用程序中特别明显的不同功能都能简单地分开。"
  • "要把低级的知识放在代码中,把注释留给高级的知识。"
  • "早崩溃"
  • "不要做历史的奴隶,不要让已有的代码支配将来的代码,如果不再适用,所有的代码都可被替换"
  • "1. 不要试图在重构的同时增加功能 2. 在开始重构之前,确保你拥有良好的测试。尽可能进场运行这些测试。这样,如果你的改动破坏了任何东西,你就能很快知道 3. 采取短小、深思熟虑的步骤。如果你的步骤保持短小,并在每个步骤之后进行测试,你将能够避免长时间的调试 完美,不是在没有什么需要增加,而是在没有什么需要去掉时达到的 需求不是架构,需求不是设计,也不是用户界面,需求是需要"
  • "提供各种选择,不要找蹩脚的借口"
  • "“不要容忍破窗户”"
  • "”做变化的催化剂”"
目录
序 XVII
新版前言 XXI
第一版前言 XV
提示1:关注你的技艺 XVII
如果你不关心怎么做好,为什么还要花时间去开发软件呢?

显示全部
用户评论
完成大于完美,持续地改善
一本程序员的自我修养手册。
如果你喜欢本书的第一版,那么一定要读这个新的版本。勘误https://github.com/cloudwu/tpp_feedback/
很不错
这是一本关于程序员专业素质培养、程序设计方法与软件工程的通识读本。本书内容有道亦有术,即包含高屋建瓴的思维方法,也包含实用的工程技巧。曾读过第一版,这是云风译的第二版,值得品味。这本 TPP2e 和《代码大全》CC2e 都是程序设计与软件工程通识的佳作,相比之下,这本书的观念更新,也更精益(书薄)。
还不错,但有些地方感觉啰嗦?
提示99 不要助纣为虐
希望所有的程序员都可以读一边, 在这里你可以读到你心中所向往的技术世界, 读到职业生涯的希望, 读到成为大佬的方法论。
这是一本综合性的程序员指导书,里面关于程序员的责任感和代码编写之道都是我们经常讨论的。但是我们经历了这么多他大大小小项目之后,往往忘记了这些朴素的道理。
几乎每一个tip都可以作为迭代开发过程中的行动项进行反复跟进和练习--如果都能做到就太完美了。第一版读的时候还没工作,工作了五六年之后再翻第二版,真的是句句戳心,值得放在工位上供着的书,时时刻刻用来警醒自己。
下载
收藏