您的位置: 首页 > 业界动态 > 专业书讯 > 程序员修炼之道——从小工到专家
JSP2.0技术手册 回到列表 关于Web标准的书-《网站重构》
 程序员修炼之道——从小工到专家

作者:博文视点 时间: 2004-06-21 文档类型:原创 来自:蓝色理想

领悟程序员修炼之道!做注重实效的程序员!

经典好书完美中文化!
译笔精准流畅,再现原著风格。
页页对译,完整保留原书索引,与全球程序员轻松交流。
以中英对照方式再现本书重要组成部分、必备的The Pragmatic Quick Reference Guide(影印版没有此内容)。
全球公认的经典!
全球好评如潮的经典程序员“修炼”法则之汇集。[TODO]
名家倾力译作!
ACE文档译者、《C++网络编程卷2》译者马维达先生最新译作!
程序员必读!
详述程序员必须具备的各方面素质,历数编码、测试、工具使用、设计、软件工程等各方面的技巧与原则,专家经验尽收眼底。
 以Tip形式总结出大师智慧结晶,条条直击要害,句句入木三分。


目录
第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 练习解答 
  索引

内容简介
本书主要介绍了软件开发的原则和方法。本书直指编程前沿,透过日益增长的现代软件开发规范和技术,对软件开发的核心过程进行了审视——以满足用户为本,针对用户需求来产出高效、可维护的优秀代码。全书涵盖内容广博,从个人责任和职业发展,到保持代码灵活性并使之易于改动和重用,多而不杂。本书采用了有趣的轶事、详实的例子以及诙谐的对话等方式,描述了软件开发方方面面的最佳实践方案和各种缺陷。您从本书所学到的开发技巧、开发习惯以及职业态度,必将帮助您修炼成为一名真正的Pragmatic Programmer!

前言
  作为评阅者,我得到了提早阅读你拿在手上的这本书的机会。即使当时还只是草稿,它就已是一本很好的书。Dave Thomas和Andy Hunt有话要说,并且知道怎样去说。我见过他们所做的事情,知道他们所说的将是有效的。我请求让我来撰写这篇前言,以便有机会向你解释其中的原因。
  简而言之,本书将告诉你怎样以一种你能够遵循的方式去编程。也许你不认为这是一件困难的事情,但事情却并非如此。为什么?原因之一是,并非所有的编程书籍都是由程序员撰写的。其中有许多是由语言设计者、或是与他们有合作关系的报刊记者编撰而成,意在推销他们的作品。那些书告诉你怎样通过某种编程语言进行表达——这当然很重要,但却只是程序员所做的事情的一小部分。
  除了通过编程语言进行表达,程序员还要做些什么?嗯,这是一个更深入的问题。大多数程序员在解释他们所做的事情这个问题上都会有困难。编程是一项充满了各种细节的工作,追踪这些细节需要专注。时间流逝、代码出现,你查看它们,那里全是些语句。如果你不仔细思考,你也许会以为编程不过就是敲入某种编程语言的语句。你当然错了,但找遍书店的编程专柜,你却还是讲不出所以然。
  在《程序员修炼之道》一书中,Dave和Andy将告诉我们怎样以一种我们能够遵循的方式编程。他们何以能这样聪明?他们不也是和其他程序员一样,专注于各种细节而已吗?答案是他们在做某件事情时,会把注意力投注在他们在做的事情上——然后他们会试着把它做得更好。
  设想你在参加一个会议。或许你在想,这个会议没完没了,你还不如去写程序。而Dave 和Andy会想,他们为什么在开会,他们想知道是否可以通过另外的方式取代会议,并决定是否可使某样事情自动化,以使开会的工作推后。然后他们就会这样去做。这就是Dave和Andy思考的方式。开会并非是某种使他们远离编程的事情。开会就是编程,并且是能够加以改善的编程。我之所以知道他们以这样的方式思考,是因为这是书中的第二条提示:思考你的工作。那么再设想一下,他们这样思考了几年。很快他们就会拥有一堆解决方案。现在设想他们在工作中使用这些解决方案,又是几年;他们还放弃了其中太过困难、或者不能总是产生结果的解决方案。噢,这样的途径几乎定义了“pragmatic”(注重实效)的含义。现在设想他
们又用了一、两年来写下他们的解决方案。你也许会想,这些信息可真是金矿。你想对了。
  两位作者告诉我们他们是怎样编程的,并且是以一种我们能够遵循的方式来告诉我们的。但这一陈述的后半部分的含义也许要多于你所想到的。让我来解释一下。作者一直在小心避免提出软件开发理论。这是一件幸运的事情,因为如果他们那样做了,他们就不得不为了捍卫他们的理论而对各章进行“调整”。这样的“调整”是,比如说,物理科学中的传统,在这些学科中,理论不是最终成为定律,就是被静静地丢弃。而另一方面,编程所具有的法则(如果有)却非常少。所以围绕想要成为法则的东西形成的编程建议在纸面上也许显得很好,而在实践中却无法让人满意。这也是那么多方法学书籍误入歧途之处。
  我研究这一问题已有十多年,并发现一种叫做模式语言(pattern language)的方法最有前途。简而言之,模式就是解决方案,而模式语言就是相互支援的若干解决方案的系统。围绕着对这些系统的探求,已经形成了一整个社群。
  本书不只是一堆提示。它是一种“披着羊皮”的模式语言。我这样说,是因为每一条提示都汲取自经验、作为具体建议讲授、并与其他提示关联而形成系统。是这些特征使我们能够学习并遵循模式语言。在本书中它们以同样的方式发挥着作用。
  你可以遵循本书的建议,因为它们是具体的。你不会发现含混不清的抽象。Dave和Andy直接为你而写,就好像每一条提示都是能给你的编程生涯供给能量的重大策略。他们让提示保持简单,他们讲故事,他们使用轻松的笔触,他们接着还给出了各种问题的解答,这些问题将在你进行尝试时出现。
  不仅如此。在你阅读了十或十五条提示之后,你将开始看到工作的另外一个维度。我们有时称之为“QWAN”,也即“quality without a name”(无名的品质)。本书的哲学将渗入你的意识,并与你自己的哲学交融在一起。它不鼓吹,它只是讲述什么可行。但在讲述中却又有更多的东西到临。这正是本书美之所在:它体现它的哲学,且是以如此谦逊的方式来体现。
  这就是它:一本易于阅读——也易于应用——的关于整个编程实践的书。我一直在不断讲述它为何有效,而你关心的也许只是它的确有效。它的确有效,你会看到的。

   《程序员修炼之道——从小工到专家》(典藏书)
   书评:——转贴自CSDN,作者: zhanghx6986
   本人一向有周六逛书店的习惯,今天也不例外。今天高兴的是在看书的时候有一个漂亮MM坐在我旁边^_^,更兴奋的是今天发现的这本好书《程序员修炼之道》,这本书其实我早就听说过,但是碍于时间的关系,一直没有读该书的原版,今天发现了这本书的译本,着实让我高兴了一番!
    忍着饥肠辘辘,在书店一口气读完了该书的第一章,读完后,只能用一个字形容我当时的心情,“爽”。对该书的两位作者产生了由衷的敬佩。
    第一章中我认为最经典的就是下面这些句子了:关于破窗户理论:一扇破窗户,只要有那么一段时间不修理,就会渐渐的给建筑的居民带来一种废弃感- -种职权部门不关心这座建筑的感觉。于是又一扇窗户破了。人们开始乱扔垃圾。出现了乱涂乱画。严重的结构损坏开始了。在相对较短的一段时间里,建筑的损毁得超出了业主愿意修理的程度,而废弃感变成了现实。
    作者针对该理论引申出了软件中的“破窗户”,一个良好的软件系统,一旦出现了破窗户,如果不及时的修理,那么该软件系统就会迅速的腐烂、恶化。
    关于这一点,我还是有一定的感触,我们部门的一个产品在持续到1.X版本的时候,已经到了无法维护的地步了,出了BUG,几乎无法在定位了,这就是“破窗户”效应。好在部门及时开发了该产品的2.X版本,该版本产品的设计和编码都是全新的,但是随着该版本在市场上将近一年半的摸爬滚打,面对客户无穷无尽的需求,该版本也开始出现了“破窗户”,曾几何时,我也产生了这样的想法“这些代码的其余部分也是垃圾,我只有照着做就行了”。多么可怕的想法,“破窗户”效应正发生在我的身上。我觉得是时候开始修复那些“破窗户”了,让我们的代码变得干净漂亮。就像该书里提到的那个“灭火”例子一样,一个干净、整洁的软件系统,你会格外注意不要把它弄脏。
    在有就是书里提到的那个“石头汤”的例子,这个例子和我,还有我一个同事的想法不谋而和。当你觉得一个东西非常好,可以在项目里使用的时候,你向大家推荐这个东西,然而大家对待这个东西却是非常的木然,这个东西显然没有引起大家的兴趣,而我那个同事就会抱怨:“这群家伙怎么这样,和他们提出新东西,新想法简直浪费!”。后来,我们两个聊天一致认为,我们的方式本身有问题,我们应该先做出一个小的像样的东西,然后在向大家推荐这个东西,这样能激起大家足够的兴趣。就象该书里说得那样:让他们大吃一惊,然后说:“要是我们增加。。。。可能就会更好”。
    我和那个同事,都有把自己掌握的知识分享给其他同事的习惯,经常在部门里组织一些培训。但是交流效果一直不是非常理想,我那个同事就会抱怨“其他同事对这个东西进行发问的时候,总是问不到点子上,接受新东西能力差”。但是,反过来,我们培训的方式本身是不是有问题那,我们有没有了解我们的听众。你想让他们学到什么?他们对你讲的什么感兴趣?他们有多富有经验?他们想要多少细节?你想要让谁拥有这些信息?你如何促使他们听你说话?这些个问号,我们在培训开始前确实没有认真考虑过,就象我前一段给部门做的一个《ACE和多线程技术》培训时候,参加这个培训有一些做JAVA的同事,当我培训的时候,一口一个POSIX标准的时候,我全然不知他们不太知道什么是POSIX标准,到后来终于一个同事问了什么是POSIX标准的时候,我才恍然大悟,原来这些东西他们不太了解,这就是培训方法的问题。培训、交流、演讲确实是一门学问,一个好的交流或培训,即使持续了好长时间,大家依然全神在听,否则很多人要不了一会就开始“神游”了;一个好的将军,在战斗打响前的演说成功与否,可能直接影响着这场战役的胜败!
    在有就是E-mail交流问题,我们的一个女同事,由于工作上的职务关系,要经常给整个部门的同事群发邮件,但是几乎很少能得到回复,她因此很是伤心^_^,我为了开导她,给她讲了什么是“大众冷漠”现象,一个强盗在很多人的大街上打劫,但是大家没人去阻止这件事情,就是因为阻止这个强盗的责任平均分摊到了很多人头上,那么每个人都认为这不是我的责任。但是,能及时的回复其他人的邮件,确实是一种礼貌的行为,就象书里说得哪样,即使内容只是“我稍后回复你”。我也曾经因为其他人没有及时回复我的邮件,而大发脾气^_^。
    今天,确实是收获颇丰的一天,《程序员修炼之道》仅仅第一章就给了我这么多感触,我想我接着读下去,会激出更多的思想上的火花,我拭目以待。。。。

 

 

本文链接:http://www.blueidea.com/news/book/2004/1959.asp 

出处:蓝色理想
责任编辑:donger

作者文章 更多作者文章
《交互设计之路》
《3ds max7白金教程》
《色彩管理》
《计算机组装、维护与优化教程》
《系统分析师考试疑难问题解答》
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
《YoungNWP》第3期发布
奥斯卡大师亚洲巡讲火热报名中
Internet Explorer 9 平台预览版4
国内最大规模web前端技术聚会深圳站
绿色IT--云计算真的环保吗?
妙手回春:网站可用性测试及优化指南
Phpcms 2010模板大赛火热开赛
水晶石技法西安特训营系列报道
插画中国56期插画培训火爆招生中
乔家大院里的女人与Photoshop创意设计

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2