第一图书网

程序员修炼之道

Andrew Hunt,David Thomas 电子工业出版社
出版时间:

2011-1  

出版社:

电子工业出版社  

作者:

Andrew Hunt,David Thomas  

页数:

272  

译者:

马维达  

Tag标签:

无  

前言

作为评阅者,我得到了提早阅读你拿在手上的这本书的机会。即使当时还只是草稿,它就已是一本很好的书。Dave Thomas和Andy Hunt有话要说,并且知道怎样去说。我见过他们所做的事情,知道他们所说的将是有效的。我请求让我来撰写这篇前言,以便有机会向你解释其中的原因。简而言之,本书将告诉你怎样以一种你能够遵循的方式去编程。也许你不认为这是一件困难的事情,但事情却并非如此。为什么?原因之一是,并非所有的编程书籍都是由程序员撰写的。其中有许多是由语言设计者、或是与他们有合作关系的报刊记者编撰而成,意在推销他们的作品。那些书告诉你怎样通过某种编程语言进行表达——这当然很重要,但却只是程序员所做的事情的一小部分。除了通过编程语言进行表达,程序员还要做些什么?嗯,这是一个更深入的问题。大多数程序员在解释他们所做的事情这个问题上都会有困难。编程是一项充满了各种细节的工作,追踪这些细节需要专注。时间流逝、代码出现,你查看它们,那里全是些语句。如果你不仔细思考,你也许会以为编程不过就是敲入某种编程语言的语句。你当然错了,但找遍书店的编程专柜,你却还是讲不出所以然。在《程序员修炼之道》一书中,Dave和Andy将告诉我们怎样以一种我们能够遵循的方式编程。他们何以能这样聪明?他们不也是和其他程序员一样,专注于各种细节而已吗?答案是他们在做某件事情时,会把注意力投注在他们在做的事情上——然后他们会试着把它做得更好。设想你在参加一个会议。或许你在想,这个会议没完没了,你还不如去写程序。而Dave和Andy会想,他们为什么在开会,他们想知道是否可以通过另外的方式取代会议,并决定是否可使某样事情自动化,以使开会的工作推后。然后他们就会这样去做。这就是Dave和Andy思考的方式。开会并非是某种使他们远离编程的事情。开会就是编程,并且是能够加以改善的编程。我之所以知道他们以这样的方式思考,是因为这是书中的第二条提示:思考你的工作。那么再设想一下,他们这样思考了几年。很快他们就会拥有一堆解决方案。现在设想他们在工作中使用这些解决方案,又是几年;他们还放弃了其中太过困难、或者不能总是产生结果的解决方案。噢,这样的途径几乎定义了“pragmatic”(注重实效)的含义。现在设想他们又用了一两年来写下他们的解决方案。你也许会想,这些信息可真是金矿。你想对了。两位作者告诉我们他们是怎样编程的,并且是以一种我们能够遵循的方式来告诉我们的。但这一陈述的后半部分的含义也许要多于你所想到的。让我来解释一下。

内容概要

《程序员修炼之道》由一系列独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术,利用许多富有娱乐性的奇闻轶事、有思想性的例子及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。

作者简介

作者:(美国)亨特(Andrew Hunt) (美国)托马斯(David Thomas) 译者:马维达亨特(Andy Hunt)是一位热切的木匠和音乐家,但奇怪的是,人们更需要作为顾问的他。他的工作领域包括电信、银行、金融服务、公共服务,以及一些更奇特的领域,比如医学成像、图形艺术、Internet服务。Andy的专长是把经过验证的技术与先进的技术混合在一起,创建各种新颖的——但也是实用的——解决方案。Andy在北卡罗莱纳州的罗利市拥有自己的顾问公司。托马斯(Dave Thomas),喜欢驾驶单引擎飞机飞行,并通过这样的方式为他的习惯付账:为各种难题寻找优雅的解决方案,提供诸多领域里的咨询服务——航空、银行、金融服务、电信、交通运输及Internet。 在于1994年移居美国前,Dave在英国创立了一家通过ISO9001认证的软件公司,为世界各地的客户开发成熟、定制的软件项目。Dave现在是一位独立顾问,居住在德克萨斯州的达拉斯。 以The Pragmatic Programmer,L.L.C的名义,Dave与Andy正在协同工作,把合起来超过四十年的专业经验带给美国各地的客户。译者简介:马维达,《C++网络编程(卷2)》与《ACE自适配通信环境技术文档》的译者,技术兴趣为C++网络编程(ACE)与分布式对象计算(Internet Communications Engine)

书籍目录

前言

第1章 注重实效的哲学
1 我的源码让猫给吃了
2 软件的熵
3 石头汤与煮青蛙
4 足够好的软件
5 你的知识资产
6 交流
第2章 注重实效的途径
7 重复的危害
8 正交性
9 可撤消性
10 曳光弹
11 原型与便笺
12 领域语言
13 估算
第3章 基本工具
14 纯文本的威力
15 shell游戏
16 强力编辑
17 源码控制
18 调试
19 文本操纵
20 代码生成器
第4章 注重实效的偏执
21 按合约设计
22 死程序不说谎
23 断言式编程
24 何时使用异常
25 怎样配平资源
第5章 弯曲,或折断
26 解耦与得墨忒耳法则
27 元程序设计
28 时间耦合
29 它只是视图
30 黑板
第6章 当你编码时
31 靠巧合编程
32 算法速率
33 重构
34 易于测试的代码
35 邪恶的向导
第7章 在项目开始之前
36 需求之坑
37 解开不可能解开的谜题
38 等你准备好
39 规范陷阱
40 圆圈与箭头
第8章 注重实效的项目
41 注重实效的团队
42 无处不在的自动化
43 无情的测试
44 全都是写
45 极大的期望
46 傲慢与偏见
附录A 资源
专业协会
建设藏书库
Internet资源
参考文献
附录B 练习解答
索引
注重实效的程序员之快速参考指南

章节摘录

依据你的职业发展、你的项目和你每天的工作,为你自己和你的行为负责这样一种观念,是注重实效的哲学的一块基石。注重实效的程序员对他或她自己的职业生涯负责,并且不害怕承认无知或错误。这肯定并非是编程最令人愉悦的方面,但它肯定会发生——即使是在最好的项目中。尽管有彻底的测试、良好的文档以及足够的自动化,事情还是会出错。交付晚了,出现了未曾预见到的技术问题。发生这样的事情,我们要设法尽可能职业地处理它们。这意味着诚实和坦率。我们可以为我们的能力自豪,但对于我们的缺点——还有我们的无知和我们的错误——我们必须诚实。责任是你主动担负的东西。你承诺确保某件事情正确完成,但你不一定能直接控制事情的每一个方面。除了尽你所能以外,你必须分析风险是否超出了你的控制。对于不可能做到的事情或是风险太大的事情,你有权不去为之负责。你必须基于你自己的道德准则和判断来做出决定。如果你确实同意要为某个结果负责,你就应切实负起责任。当你犯错误(就如同我们所有人都会犯错误一样)、或是判断失误时,诚实地承认它,并设法给出各种选择。不要责备别人或别的东西,或是拼凑借口。不要把所有问题都归咎于供应商、编程语言、管理部门、或是你的同事。也许他(它)们全体或是某几方在其中扮演了某种角色,但你可以选择提供解决方案,而非寻找借口。如果存在供应商不能按时供货的风险,你应该预先制定一份应急计划。如果磁盘垮了——带走了你的所有源码一而你没有做备份,那是你的错。告诉你的老板“我的源码让猫给吃了”也无法改变这一点。

媒体关注与评论

“如果我在管理一个项目,这本书的作者就是我想要的人……如果办不到,我就会要读过他们的书的人。”  ——Ward Cunningham


编辑推荐

《程序员修炼之道:从小工到专家》:传承大师智慧 领悟技术本真经典名著 翻译良品 典藏不二之选

名人推荐

领悟程序员的哲学在大学的时候,编程是我的兴趣,也是当时我给自己定位的职业方向。当我在图书馆看到这本《程序员修炼之道》的时候,直觉告诉我应该看看这本书,或许对我的成长有帮助。读完之后更加肯定了自己的直觉是对的。当时我虽然没有实际项目的开发经验,不能一时领悟其意,但我明白,这本书中总结的原则和方法对我来说是极为宝贵的,于是买了一本放在床头。参加工作后,随着编程经验的积累,我越来越能体会到这本书中的观点。每次重读书中的章节,我都会有新的收获;再结合自己的每次经历,都能与之共鸣——这是对我影响最深的一本书,也是我向朋友和同事推荐次数最多的一本书。有趣的是,书前Kevin Ruland的评论说:这是我唯一不会出借的一本书。究竟是一本什么样的书会让大师如此爱不释手?这本书所涉及的内容很广,涵盖了程序员成长过程中和软件开发过程中要注意的地方。从程序员的个体哲学到编码过程中的各个环节,再到团队的项目管理;从程序员要如何扩充知识,如何思考问题,如何利用有效的工具打造个人的工作环境,到项目启动之前如何建立一些基本准则,如何分析、设计、编写、测试、重构,如何实现自动化,甚至是项目团队中提高实效的原则。书中的内容全都来自经验的总结,倡导编程中正确的观念和良好的习惯,而这正是优秀的程序员必须拥有的良好素质。书中讲述的原则源于实践,高于实践,它们蕴涵着前辈们的智慧。随着知识的扩展、编程体验的增加,对这本书中的内容的理解也会愈加深刻。反过来,对前辈菁华的吸收,有助于我们提高编程水平,开发出更好的产品。我深信这不是一本只要读一遍的书。这些原则看似简单,但细细品味一番,却是大哲大道,环环相扣,要理解透彻并不容易。例如,提示44告诉我们“不要靠巧合编程”,这道理看起来好像很简单,但我发现实际工作中还是很容易就犯这个错的。细想一下Bug列表中的问题,其中大多数问题不正是由于作了不正确的假设,或者是想当然造成的吗?要是一开始就有了深思熟虑,经过了合理的设计,完整有效地进行了测试,应该大部分都可以避免吧。而思考、设计、测试又紧扣书中其他章节。曾经和朋友讨论关于员工培训的事。如果给程序员做培训,我首选的材料就是这本《程序员修炼之道》。LAMP程序员 赵钟秋(belltoy)http://blog.belltoy.net/

图书封面

图书标签Tags

广告

下载页面


程序员修炼之道 PDF格式下载



本书主要针对系统程序员,特别是Unix/Linux系统程序员的如何发展。一般来说,在类UNIX系统上编程,通常都有某种广为流传的规范,类似于某种编程哲学。这本书从很多细节上阐述了这种哲学。虽然这种思想与编程语言无关,不过作者似乎更偏爱C语言。其它语言的程序员似乎不一定会认同这样的哲学,包括薄的胶合层、自底向上的设计理念、使用Vi,Emacs编辑器、使用shell、使用组合命令工具等等。这种思想在Unix编程艺术一书中都有阐述,但这本书是在一步一步指引,把一个系统编程的小工培养成专家。对于非UNIX的系统程序员不一定十分合适。


《程序员修炼之道——从小工到专家》这本书,你决不能从人家那里借来看,除非可以不还。在你未认真读完的情况下,决不要借给别人看。认真是指要都看懂,最好在书上做些评注。当然,易读性和道理的摄人震撼性是本书引人入胜的地方。老板的推荐读物,看来是要第一时间引起重视的。不是做程序的则无须看。


程序员修炼之道:从小工到专家,不错,经典 !讲的道理容易明白,但还是要在平时工作时多用 。


程序员修炼之道——从小工到专家 值得每一个程序员看


程序员修炼之道——从小工到专家bucuo


如果你想从事软件开发的行业的话,这本书还是能够帮到你的。因为我觉得这本书给了我提升自我的一些知识,基本上,这本书和《高效程序员的45个习惯》现在已经成为了我的床头书了。


第一次在当当买书,很给力!
程序员修炼之道 这本书自不必多说,好书!书肯定是正版的,印刷也很给力,不过还没有读完,哈哈,总之是一本好书


这本书分不同层级介绍程序员的修炼过程和方法,找找自己的定位,试着朝下一个目标前进吧


这本书适合将要走上程序员岗位的人阅读,从中能获得不少工作上的启发!


适合初级和中级的程序员阅读,会让人对某些问题豁然开朗


富有创作力和感染力的一本书,作为一个程序员,值得拥有它!


本人是初入职场的小小程序员,虽然还没有看完这本书,但是从看的前几章中感觉收益匪浅。


非常实用,值得每个程序员阅读。


适合处于迷茫期的程序员读一下


内容不错。从哲学谈起,讲述一个优秀的程序员是怎样练成的。


正如书中很多人推荐的那样,这本书对于程序员而言是必备书籍,你一定会在其中学到很多东西!


对程序员的成长很有帮助


提高程序员的素质


是程序员都要买的一本书


正如译序所言,这本书是进阶程序员的忠告。


。。这本书,
。。应该是一个程序员必备的,
。。很好,
。。可读性很强,


我一直在徘徊怎么做一个好的程序员,这本书告诉我了!


不愧是程序员必读书目,看完之后豁然开朗。


还没读,争取做一个好的程序员


不用多说,程序员必备


很多哲理 很多方法 是程序员进步的指南


这是本程序员必看之书!


程序员的经典藏书


程序员必备的,最好是初学的时候一定要看


真的很不错 值得多看两遍 不管是程序员还是leader


每一个程序员都应该看看


要是引起共鸣了,就说明进步了:)
另外也读过其他几本马维达译的书,质量都是不错的。


敏捷编程已是尽人皆知的今天,这本书的大名,连同Thomas一样!


不过个人感觉,有一定项目经验看之后,效果才好


正在纠结项目需求时买的,看完后 平静了很多。不错的一本书


我很少看专业书,觉得实践中学习才是王道。从石头汤开始就发现自己的问题好像和高手真的很有差距。在往下读,发现自己真是浅薄,很多东西根本就是头一回听到,所以看起来说实话挺费劲的,不过还是硬着头皮模模糊糊的看完了,现在可以说自己是个小工了。决定再看一遍。


本人刚踏入软件行业,本以为书中的内容会苦涩难懂,但是读了几天,感悟颇多。书中内容字字经典,小小的例子就能把道理讲透彻,不愧是传世经典。


在编写了大量的基础代码之后对软件开发有所经历之后,这本书是提升你的眼界的必由之路当然,该书也将养成你的良好习惯


确实是一本好书,里面有很多作者的真知灼见以及一些非常实用的经验,而且作者的文风不错,读起来比较轻松!特别适合有一定经验的工程师!推荐!


书的内容更多是教你怎样去思考问题,怎样去解决问题,而不是简单的教给大家一些案例,通过案例告诉大家遇到一个不知道该怎么着手的问题如何通过一步步的分析解决掉!很值得一看!


就是一些经验之道,很受启发。


IT行业,修炼之道。


内容通过实例讲解一些基本编程设计到的道理!


现在还是个学生,但对计算机方面比较感兴趣,希望通过此书对编程有更深层次的了解


我还没开始修炼,男朋友开始了,他说很好。等他看完我再修炼。。


软件工程师票选第二名的书, 一定要拜读


还没有看太多,只是前言和书中的书评就感觉不错了,技术的东西需要时间一点点来!


从小工到专家。。。。。。。。。。。。


修炼不是一朝一夕啊


学习吧 修炼吧


有收获,慢慢修炼


很经典,没废话,需要有实践经验


对编程思想方面的转变有很大影响。是一本非常好的书籍


实践经验还不足,不能很好地领会书中所言,但亦有不小收获。


适合每个写代码的人看


很好的书,很大程度上超过了《代码大全》


很经典的一本书,里边都是些经过检验的经验之谈,值得细细读一下,在工作中可以加以印证


练技术,修心


昨晚了解了一下内容,很不错。除了一些理念的东西,还有不少技能上的,我很喜欢。


书非常棒,有人说这本书在一定意义上超越了《代码大全》,这一点都不为过,书拿到手后就让人爱不释手,作者在文中提到的提示每一个都让人感同身受!


教授你的编程思想,提升自己的思维


编程思想最重要了


很大程度上提升了编程水平和高质量的思维意识


感觉不错,编程,重要的是思想!


提升编程的思想,不错


需要用心去悟,有些经验需要经历了才能体会。


在没有看之前,已经看过电子版了,内容绝对是不错的,现在买回了纸质的书了,放在书桌上,以后想看的时候就随便看了


太经典的书里,我是一个刚工作的人,看来之后很有启发啊。对以后写程序大有帮助


写序的都说好,哈哈!真的,有一篇序言写得很好,一方面内容很有价值,另一方面那篇序言放在那本书前书前都可以,有点怀疑作者是否真的读过。在这个炒作的年代,连作序都不放过。貌似说还是要多读多练!


此书是同学介绍给我的,看了后感觉想到更多以前从没想过的问题,虽然还有很多看不懂(我们还有很多没学到的),但是我肯定以后再看这本书收获一定很大。


都说好,我初步看了看还不错,看来闲暇的时间又可以利用了


内容实在,全面、详细。是本值得反复、仔细阅读的书。


很有用,经验越深,感悟越深


电子版的读了一点,不错,太累眼,所以就买了本书,做人做事就应该常思考呀


读了下,感觉内容不错,推荐阅读


不错的书籍,适合入手。


适合厕所床上看
想C++散文似的,收获很大


适合每个coder去细读的书,已经读完一遍,回头慢慢的消化回顾。获取良多


纸张和内容都很不错。 超喜欢!


书讲的比较系统,有很多经验之谈,但是每一部分比较笼统,没有太深入的内容。比如基本工具这一章,都是泛泛而谈,并没有详细介绍和深入探讨。


收到这本书迟了些,但是看了一眼就很想看完,发现自己需要学习的东西还好多。。。


高手推荐的书,正在看ing


正在慢点体会ing。


经典丛书,值得阅读


给老婆买的,东西不错,老婆很喜欢。


书不错,很喜欢,没仔细读,看起来很不错


很喜欢里面的名言、、


送给老弟的书,他很喜欢。。。


现在仅仅看过了前言,感觉还不错,会认真去看的。


现在开始不知道做啥。大学学的有点莫名其妙,看着还不错


我一直想看看,总是因为某些事情而耽搁,现在终于买了一本了,好书


内容很贴切,对提高能力作用显著。


书质量一般般额。。。还有两页结在一起的额


看了开头,不啰嗦,从故事角度入手,引人思考


从图书馆看到的,一看发现很值得再看的书,于是就买回来看了。


还行吧 看评论说挺好的 以后再看啦~~


这本书的名字翻译的有傻 内容还是不错的


对于作者以及讲述的内容还是很好奇的.希望能够从中获益.


体会自己的成长之路


逐步成长之路


相关图书