Movatterモバイル変換


[0]ホーム

URL:


登录/注册
下载豆瓣客户端
豆瓣6.0 全新发布×

豆瓣

扫码直接下载

iPhone·Android
豆瓣读书
搜索:

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

程序员修炼之道 (第2版)
作者:[美] David Thomas /[美] Andrew Hunt
出版社:电子工业出版社
出品方:博文视点
副标题: 通向务实的最高境界
原作名: The Pragmatic Programmer: From Journeyman to Master
译者:云风
出版年: 2020-4-1
页数: 344
定价: 89.00元
装帧: 平装
ISBN: 9787121384356
豆瓣评分
5星
59.0%
4星
31.3%
3星
8.4%
2星
0.9%
1星
0.4%
评价:

内容简介  · · · · · ·

本书之所以在全球范围内广泛传播,被一代代开发者奉为圭臬,盖因它可以创造出真正的价值:或编写出更好的软件,或探究出编程的本质,而所有收获均不依赖于特定语言、框架和方法。时隔20年的新版,经过全面的重新选材、组织和编写,覆盖哲学、方法、工具、设计、解耦、并发、重构、需求、团队等务实话题的最佳实践及重大陷阱,以及易于改造、复用的架构技术。本书极具洞察力与趣味性,适合从初学者到架构师的各阶层读者潜心研读或增广见闻。

程序员修炼之道 (第2版)的创作者  · · · · · ·

作者简介  · · · · · ·

Dave Thomas 喜欢驾驶单引擎飞机飞行,而之所以能负担这样奢侈的爱好,是因为他擅长于为各种难题寻找优雅的解决方案,提供诸多领域的咨询服务——航空、银行、金融服务、电信、交通运输及互联网。1994年移居美国前,他在英国创立了一家通过 ISO9001 认证的软件公司,为世界各地的客户开发成熟、定制的软件项目。Dave 现在是一位独立顾问,居住在美国得克萨斯州达拉斯。

Andy Hunt 是一位热情的木匠和音乐家。奇怪的是,他另一个顾问的身份更为人们所推崇。他的工作领域包括电信、银行、金融服务、公共服务,以及一些更奇特的领域,比如医学成像、图形艺术、互联网服务。他的专长是把经过验证的技术与先进的技术融合在一起,创建各种新颖且实用的解决方案。Andy 在美国北卡罗莱纳州罗利市拥有自己的顾问公司。

目录  · · · · · ·


新版前言
第一版前言
提示1 关注你的技艺
提示2 思考!思考你的工作
第1章 务实的哲学
· · · · · · (更多)

新版前言
第一版前言
提示1 关注你的技艺
提示2 思考!思考你的工作
第1章 务实的哲学
1 人生是你的
提示3 你有权选择
2 我的源码被猫吃了
提示4 提供选择,别找借口
3 软件的熵
提示5 不要放任破窗
4 石头做的汤和煮熟的青蛙
提示6 做推动变革的催化剂
提示7 牢记全景
5 够好即可的软件
提示8 将质量要求视为需求问题
6 知识组合
提示9 对知识组合做定期投资
提示10 批判性地分析你读到和听到的东西
7 交流!
提示11 英语就是另一门编程语言
提示12 说什么和怎么说同样重要
提示13 把文档嵌进去,而不要栓在表面
第2章 务实的方法
8 优秀设计的精髓
提示14 优秀的设计比糟糕的设计更容易变更
9 DRY ——邪恶的重复
提示15 DRY——不要重复自己
提示16 让复用变得更容易
10 正交性
提示17 消除不相关事物之间的影响
11 可逆性
提示18 不设最终决定
提示19 放弃追逐时尚
12 曳光弹
提示20 使用曳光弹找到目标
13 原型与便签
提示21 用原型学习
14 领域语言
提示22 靠近问题域编程
15 估算
提示23 通过估算来避免意外
提示24 根据代码不断迭代进度表
第3章 基础工具
16 纯文本的威力
提示25 将知识用纯文本保存
17 Shell游戏
提示26 发挥 Shell 命令的威力
18 加强编辑能力
提示27 游刃有余地使用编辑器
19 版本控制
提示28 永远使用版本控制
20 调试
提示29 去解决问题,而不是责备
提示30 不要恐慌
提示31 修代码前先让代码在测试中失败
提示32 读一下那些该死的出错信息
提示33 “select”没出问题
提示34 不要假设,要证明
21 文本处理
提示35 学习一门文本处理语言
22 工程日记
第4章 务实的偏执
提示36 你无法写出完美的软件
23 契约式设计
提示37 通过契约进行设计
24 死掉的程序不会说谎
提示38 尽早崩溃
25 断言式编程
提示39 使用断言去预防不可能的事情
26 如何保持资源的平衡
提示40 有始有终
提示41 在局部行动
27 不要冲出前灯范围
提示42 小步前进——由始至终
提示43 避免占卜
第5章 宁弯不折
28 解耦
提示44 解耦代码让改变更容易
提示45 只管命令不要询问
提示46 不要链式调用方法
提示47 避免全局数据
提示48 如果全局唯一非常重要,那么将它包装到API 中
29 在现实世界中抛球杂耍
30 变换式编程
提示49 编程讲的是代码,而程序谈的是数据
提示50 不要囤积状态,传递下去
31 继承税
提示51 不要付继承税
提示52 尽量用接口来表达多态
提示53 用委托提供服务:“有一个”胜过“是一个”
提示54 利用 mixin 共享功能
32 配置
提示55 使用外部配置参数化应用程序
第6章 并发
33 打破时域耦合
提示56 通过分析工作流来提高并发性
34 共享状态是不正确的状态
提示57 共享状态是不正确的状态
提示58 随机故障通常是并发问题
35 角色与进程
提示59 用角色实现并发性时不必共享状态
36 黑板
提示60 使用黑板来协调工作流
第7章 当你编码时
37 听从蜥蜴脑
提示61 倾听你内心的蜥蜴
38 巧合式编程
提示62 不要依赖巧合编程
39 算法速度
提示63 评估算法的级别
提示64 对估算做测试
40 重构
提示65 尽早重构,经常重构
41 为编码测试
提示66 测试与找 Bug 无关
提示67 测试是代码的第一个用户
提示68 既非自上而下,也不自下而上,基于端对端构建
提示69 为测试做设计
提示70 要对软件做测试,否则只能留给用户去做
42 基于特性测试
提示71 使用基于特性的测试来校验假设
43 出门在外注意安全
提示72 保持代码简洁,让攻击面最小
提示73 尽早打上安全补丁
44 事物命名
提示74 好好取名;需要时更名
第8章 项目启动之前
45 需求之坑
提示75 无人确切知道自己想要什么
提示76 程序员帮助人们理解他们想要什么
提示77 需求是从反馈循环中学到的
提示78 和用户一起工作以便从用户角度思考
提示79 策略即元数据
提示80 使用项目术语表
46 处理无法解决的难题
提示81 不要跳出框框思考——找到框框
47 携手共建
提示82 不要一个人埋头钻进代码中
48 敏捷的本质
提示83 敏捷不是一个名词;敏捷有关你如何做事
第9章 务实的项目
49 务实的团队
提示84 维持小而稳定的团队
提示85 排上日程以待其成
提示86 组织全功能的团队
50 椰子派不上用场
提示87 做能起作用的事,别赶时髦
提示88 在用户需要时交付
51 务实的入门套件
提示89 使用版本控制来驱动构建、测试和发布
提示90 尽早测试,经常测试,自动测试
提示91 直到所有的测试都已运行,编码才算完成
提示92 使用破坏者检测你的测试
提示93 测试状态覆盖率,而非代码覆盖率
提示94 每个 Bug 只找一次
提示95 不要使用手动程序
52 取悦用户
提示96 取悦用户,而不要只是交付代码
53 傲慢与偏见
提示97 在作品上签名

提示98 先勿伤害
提示99 不要助纣为虐
参考文献
练习的参考答案
译者跋
· · · · · · (收起)

原文摘录   · · · · · · (全部 )

  • 项目团队你是否注意到,一些项目团队非常高效,每个人都知道该做什么,并做出了充分的贡献;而其他一些团队的成员却总是争吵不休,似乎无法相互谦让?通常这就是一个正交性问题。当团队组织重复到架屋迭床时,成员会对职责感到困惑。每修改一个东西都需要整个团队开会,因为修改会影响每个人。如何将团队组织成职责明确、重叠最少的不同小组?没有简单的答案。这一定程度上取决于具体项目,以及你对可能发生变化区域的分析;同时还取决于你能调用的人手。我们的首选做法是,先将基础设施从应用程序中分离出来,让每个主要的基础设施组件(数据库、通信接口、中间件层等)都有自己的子团队,让应用程序中特别明显的不同功能都能简单地分开。然后再查看我们拥有(或计划拥有)的人员,并相应地调整分组。有一个通俗的方法,可以用来评估项目团队结构的正交性——只需简单看看,在讨论每个修改时,有多少人需要参与进来。人数越多,组织的正交性越差。显然,一个正交的团队更有效率。(话虽如此,我们还是鼓励子团队间保持相互沟通。) (查看原文)
    云风5 回复34赞2020-05-08 11:28:31
    —— 引自章节:10 正交性 40
  • 要把低级的知识放在代码中,把注释留给高级的知识。 (查看原文)
    Suave13赞2012-02-23 22:56:13
    —— 引自章节:全书笔记

>全部原文摘录

喜欢读"程序员修炼之道 (第2版)"的人也喜欢的电子书  · · · · · ·

支持 Web、iPhone、iPad、Android 阅读器
我来说两句

短评  · · · · · · (全部 257 条 )

  • 2有用kingd2020-08-25 22:30:27

    完成大于完美,持续地改善

  • 1有用枫s的思念2021-12-16 14:11:15

    非常好的一本书,个人认为工程师能力分硬实力和软实力,这本书讲的是工程师的软实力。务实的程序员,核心在于取悦用户,解决问题。值得多读。

  • 30有用2020-05-30 16:27:40

    我很佩服云风老师,首先他是一个技艺高超的程序员,其次从他的 twitter 我看见他努力让中文适应 IT 行业的努力。看完这本书我还是觉得很失望,不是说这本书的内容不好。在国内 IT 行业上班的话,会有一种这本书就是「真空中三维球形鸡」一样的感觉。做这行,是写代码让我疲惫吗?不,写代码是这行最轻松的工作。困难的部分在于理解乱七八糟的业务逻辑、复杂多变的网络环境,对了,还有各种需求排期和甩锅。

  • 3有用sagasw2020-04-15 12:40:03

    如果还能加星就更好了。对于任何一个有志于做软件开发的工程师而言,值得买,值得一直读反复读。

我要写书评

程序员修炼之道 (第2版)的书评 · · · · · ·(全部 150 条 )

figure92010-03-02 21:54:53电子工业出版社2005版

程序员自我提升阶段的首选书籍

其实两年之前(那是我还在上大三)就曾在书店里看到这本书,当时可能是被书名所蛊惑吧,看到"修炼之道"这四个字就感觉这本书书名太唬,拿起来翻了翻也没看到什么有关"修炼"的实质内容,于是就将它搁置了。 两年的时间里,实习和工作让我积攒起了一定的代码量和项目经验,同时...  (展开)
Jeao&Leon2009-11-12 19:35:33电子工业出版社2005版

花了两天读了,写下了一些笔记与感想,贴出来和大家共享一下

这篇书评可能有关键情节透露

1 我的源码让猫给吃了 不要寻找借口,从自身找原因 2 软件的熵 一句话:不以善小而不为,勿以恶小而为之. 从初期就要做好规范,不要因为是poc这样的前提而放松对代码的规范,现在的项目就 有这种问题,初期的时候有人认为(自己也有这种想法)等到以后正式开发的时候再规范 ,而往往还...  (展开)
蔡继民2010-01-06 15:12:54电子工业出版社2005版

靠谱的程序员都是相似的

<<The Pragmatic Programmer>>中文版的书名被译作《程序员修炼之道》,这倒和原书的副标题“From Journeyman to Master”有些贴切,按照书中的指点修炼,不说变为大师,成为一个“靠谱”的程序员应该问题不大。 <<The Pragmatic Programmer>>出版于1999年,距今已有接近10年...  (展开)
belltoy2008-12-09 20:43:07电子工业出版社2005版

程序员基本素质的培养

如果自己开公司给员工培训的话,朋友的观点是要给程序员培训算法。 我认为第一个要讲的就是这本书的内容,第二个就是时间管理。其实在程序员修炼之道里,就有很多关于时间管理的内容,它们是相互补充的。比如程序员的美德——懒惰,就是要提高效率,就是要节约时间。 为什么不...  (展开)
刘江2007-09-17 18:14:59电子工业出版社2005版

不要不懂装懂

这本书翻译很好。当然,由于文化背景的原因,有些东西,本来很流畅可读的,译成中文,就不那么生动了,这也是事实。不过,不能怪译者,目前的水平已经难能可贵了。前人早已说过,Poetry is what gets lost in translation.(Frost?) 注意,我是此书出版社的竞争者,完全没有必...  (展开)
figure92021-04-25 11:10:39

十一年后,重读 Pragmatic Programmer

19年时就听闻 the Pragmatic Programmer(接下来简称TPP)这本经典要出第二版,不过工作后业务比较多看书也没之前勤,前些天无意中发现这本书已经有第二版还是我很佩服的云风翻译,果断在Amazon 上买下 Kindle 阅读。 因为我之前读过这本书的前一版(第一版书评:https://book ...  (展开)
zoufeiyy2009-09-07 16:30:38电子工业出版社2005版

态度、观念、习惯,程序员的养成

记得四年前刚开始工作时从公司拿到的第一本书,就是这本《程序员修炼之道》(英文版),作为新入职员工study group的学习材料,当时在senior engineer带领下和其他同事一起学习了这本书。虽然之前就听说这是一本好书,当时看的时候也只是觉得讲的都有道理,但这些是很自然的啊...  (展开)
伸手向左走2009-11-30 16:21:46电子工业出版社2005版

菜鸟的指南针

很久以前买的这本书,忘记在哪里看到这部书的推荐了,有大牛很卖力的推荐,于是去买了一本。 坦白讲,那个时候自己是完完全全的菜鸟,从大学里出来,除了会编程啥也不懂,这本书在当时真的是指路明灯。 书中的道理很浅显,可是对于菜鸟却是至理名言。基本为你勾勒了一个成熟...  (展开)
草根程序员2010-02-22 14:25:24电子工业出版社2005版

程序员的必修课

觉得每个程序员都应该读一读这本书,实在是够经典。以这种厚度,写出这么深的道理,又能够处处结合实践,真不容易。 逐页读来,常常有拍案而起的冲动,曾经摔过的那些跟头,原来已经有人摔过了,并且总结出了经验教训,给出了解决之道! 只是如果自己没摔过,怕不容易能找到共鸣。  (展开)
马克龙2009-03-18 18:55:21电子工业出版社2005版

关心你的技艺,思考你的工作

“Someone show loves to program and enjoys being clever about it” ——《The Pragmatic Programmer》 此句引摘自《程序员修炼之道 - 从小工到专家》,是对“hacker”含义的一种深刻见解,可意译为“热爱编程并享受在其中变得更擅长于编程的人”。作为程序员甚或是更广义...  (展开)

> 更多书评 150篇

论坛  · · · · · ·

有 Kindle 版本来自云风4 回应2020-09-06 15:00:55
211页,3s的lgn是怎么算出来的来自要瑞秋更要老友2 回应2020-07-03 00:48:29
非程序员适合阅读吗?来自luffy_zozo4 回应2020-05-24 21:45:25

这本书的其他版本  · · · · · · (全部9 )

以下书单推荐  · · · · · · (全部 )

谁读这本书?  · · · · · ·

周游
周游
昨天 想读


hsuhau
hsuhau
3月28日 想读


01-10-Tree
01-10-Tree
3月24日 想读


>397人在读

>788人读过

>4312人想读

二手市场  · · · · · ·

订阅关于程序员修炼之道 (第2版)的评论:
feed: rss 2.0

© 2005-2025 douban.com, all rights reserved 北京豆网科技有限公司关于豆瓣 ·在豆瓣工作 ·联系我们 ·法律声明 ·帮助中心 ·图书馆合作 ·移动应用

[8]ページ先頭

©2009-2025 Movatter.jp