總金額: 會員:NT$ 0 非會員:NT$ 0 
(此金額尚未加上運費)
電子電信技術 電腦技術 計算技術、計算機技術
 
 
 
 
程序員修煉之道:通向務實的最高境界(第2版•配件另行下載)
 作  者: (美)大衛•托馬斯/(美)安德魯•亨特
 出版單位: 電子工業
 出版日期: 2020.04
 進貨日期: 2020/5/20
 ISBN: 9787121384356
 開  本: 16 開    
 定  價: 668
 售  價: 534
  會 員 價: 490
推到Facebook 推到Plurk 推到Twitter
前往新書區 書籍介紹 購物流程  
 
編輯推薦:

√ 屹立 20 年影?力大作,成功案例?以千万?,凌?于任何?言|框架|方法之上。

√ 面向未?重?全部?容,?程序??任与???展,到?活|易适配|可重用架构。

√ 53?核心??|99?高能提示,?明?件??走向卓越之路及途中各种典型陷阱。

√ ?程界?奇人物云?操刀翻?,至理|??|案例|技巧之原著精微,?不掘至毫?。

◎与“?件腐?”做斗?

◎持???

◎避免知?重复的陷阱

◎?出有?性、??、适配性?的代?

◎??基本工具的力量

◎避免依?巧合?程

◎??真正的需求

◎解?并?代?的底???

◎防范安全漏洞

◎建立??程序?构成的??

◎?你的工作和事???

◎?情而有效地做??,包括基于特性的??

◎?建??的入?套件

◎取?你的用?


內容簡介:

《程序?修?之道》之所以在全球范???泛?播,被一代代??者奉?圭臬,?因它可以?造出真正的价值:或??出更好的?件,或探究出?程的本?,而所有收?均不依?于特定?言、框架和方法。?隔20年的新版,??全面的重新?材、??和??,覆?哲?、方法、工具、??、解耦、并?、重构、需求、??等????的最??及重大陷阱,以及易于改造、复用的架构技?。本?极具洞察力与趣味性,适合?初?者到架构?的各???者?心研?或增???。


作者簡介:

Dave Thomas喜????引擎?机?行,而之所以能????奢侈的?好,是因?他擅?于?各种???找优雅的解?方案,提供?多?域里的咨?服?——航空、?行、金融服?、?信、交通??及互?网。在于1994年移居美?前,Dave在英??立了一家通?ISO9001??的?件公司,?世界各地的客???成熟、定制的?件?目。Dave?在是一位?立??,居住在德克?斯州的?拉斯。Andy Hunt是一位?情的木匠和音?家,但奇怪的是,他另一???的身份,??人?所推崇。他的工作?域包括?信、?行、金融服?、公共服?,以及一些更奇特的?域,比如??成像、?形??、互?网服?。Andy的??是把????的技?与先?的技?混合在一起,?建各种新?的——但也是?用的——解?方案。Andy在北卡???州的?利市?有自己的??公司。?位作者正在?同工作,以ThePragmaticProgrammer公司的名?,把合起?超?四十年的??????美?各地的客?。

?者云?(真名?云洋),曾任网易杭州研究中心??,是网易《大?西游》《?幻西游》等知名游?的主要??者;2011 年与前网易 COO 詹???合????(EJOY)游?公司,兼任 CTO,??公司已被阿里收?;在互?网、游?界?有?高技?影?力,常年?表博客文章,并著有《游?之旅》及《Effective C (?注版)》。


圖書目錄:

序 XVII
新版前言 XXI
第一版前言 XV
提示1:?注你的技? XVII
如果你不?心怎么做好,?什么?要花??去???件呢?
提示2:思考!思考你的工作 XVII
?掉?助??,由自己掌控,持?不?地?估所做的工作。
第1章 ??的哲? 1
1 人生是你的 2
提示3:你有??? 3
人生是自己的。把握住人生,?它如你所愿。
2 我的源?被?吃了 3
提示4:提供??,?找借口 5
提供??而不是去找理由。不要只?做不到;解?一下都能做些什么。
3 ?件的熵 6
提示5:不要放任破窗 7
只要看到不好的??、??的?策、糟糕的代?,就赶?去?正。
4 石?做的?和煮熟的青蛙 9
提示6:做推??革的催化? 10
你?法?迫人?去改?,但可以展示美好未?,并?助他??与?造。
提示7:牢?全景 10
不要?度沉浸于?枝末?,以免察?不到周?正在?生的事情。
5 ?好即可的?件 11
提示8:??量要求??需求?? 12
?用??与??目真??量需求的确定。
6 知??合 14
提示9:?知??合做定期投? 16
?成??的??。
提示10:批判性地分析你?到和听到的?西 18
不要受供?商、媒体炒作或教?的影?,根据自身和?目的??情??
分析信息。
7 交流! 20
提示11:英?就是另一??程?言 20
?英??作一??程?言。?文?和?程一?要遵循 DRY 原?、ETC、
自?化等。
提示12:?什么和怎么?同?重要 23
如果?法有效交流,任何?大的想法都是?有意?的。
提示13:把文?嵌?去,而不要栓在表面 24
与代?隔离的文?,很?保持正确并及?更新。
第2章 ??的方法 27
8 优秀??的精髓 28
提示14:优秀的??比糟糕的??更容易?更 28
适合使用者的事物,都已??良好??。?代???,?意味?必?适?
?化。
9 DRY——邪?的重复 30
提示15:DRY——不要重复自己 31
系?中的每一?知?,都必?有?一且?歧?的?威?述。
提示16:?复用?得更容易 39
只要复用方便,人?就?去做。?建一?支持复用的?境。
10 正交性 40
提示17:消除不相?事物之?的影? 41
??的?件,需要自成一体、?立自主,有?一的清晰定?的意?。
11 可逆性 48
提示18:不?最??定 50
不要把?定刻在石?上,而要?其???在沙?上的?西,?刻准?
??。
提示19:放?追逐?尚 50
尼?·福特??:“昨日之最佳??,即明日之反模式。”要基于基本
原?去??架构,而不?盲?于流行。
12 曳光? 51
提示20:使用曳光?找到目? 53
通?不???并看清???,曳光?可确保你最??中目?。
13 原型与便? 57
提示21:用原型?? 58
制作原型旨在????,其价值不在于?程中?生的代?,而在于
得到的教?。
14 ?域?言 60
提示22:靠近??域?程 61
用???域的?言?做??和?程。
15 估算 67
提示23:通?估算?避免意外 67
?始之前做估算,能提前???在??。
提示24:根据代?不?迭代?度表 72
利用?施?程中?得的???精?化?目的??尺度。
第3章 基?工具 74
16 ?文本的威力 75
提示25:?知?用?文本保存 76
?文本不???。它能??你的工作事半功倍,并能?化??和??
工作。
17 Shell游? 79
提示26:?? Shell 命令的威力 80
??形化界面?法胜任?,使用 Shell。
18 加???能力 82
提示27:游刃有余地使用??器 82
既然??器是至?重要的工具,不妨了解一下如何用它更快更准确地
??需求。
19 版本控制 85
提示28:永?使用版本控制 87
版本控制?你的工作?造了一???机器,可以用它重返?去。
20 ?? 90
提示29:去解???,而不是?? 91
Bug 到底?自你的失??是?人的失?真的不重要——它?究是你的
??,需要你?修复。
提示30:不要恐慌 91
不管是??河系搭?客,?是???者??,都???。
提示31:修代?前先?代?在??中失? 93
在你修 Bug 前,先?建一?聚焦于? Bug 的??。
提示32:?一下那些?死的出?信息 93
大多?异常都能告?失?之物与失?之?。如果足?幸?,你甚至能
得到具体的??值。
提示33:“select”?出?? 97
在操作系?或??器中?? Bug 非常罕?,甚至在第三方?品或?中
也是如此。Bug 大多出?在?用程序中。
提示34:不要假?,要?明 97
在真??境中??你的假?——要依?真?的?据及?界?件。
21 文本?理 99
提示35:??一?文本?理?言 99
既然每天都要花大量的??与文本打交道,何不??算机?你分?一二?
22 工程日? 101
第4章 ??的偏? 103
提示36:你?法?出完美的?件 103
?件不可能是完美的。?于在所?免的??,要保?代?和用?免受其
影?。
23 契?式?? 104
提示37:通?契??行?? 107
代?是否不多不少?好完成它宣?要做的事情,可以使用契?加以校?
和文?化。
24 死掉的程序不??? 113
提示38:?早崩? 114
?底死掉的程序通常比有缺陷的程序造成的?害要小。
25 ?言式?程 115
提示39:使用?言去?防不可能的事情 115
如果一件事情不可能?生,那么就用?言?确保其的确不??生。?言
在校?你的假?,要使用?言在不确定的世界中?你的代?保?起?。
26 如何保持?源的平衡 119
提示40:有始有? 119
只要有可能,??源?行分配的函?或?象就有?任去?放??源。

提示41:在局部行? 122
?易?的?量?持在一?范??,打??源的?程要短?且明?可?。
27 不要?出前?范? 127
提示42:小步前?——由始至? 127
永?小步前?,不??查反?,并且在推?前先做?整。
提示43:避免占卜 129
只在你能看到的范??做?划。
第5章 宁?不折 130
28 解耦 131
提示44:解耦代??改?更容易 132
耦合使事物???定在一起,以至于很?只改?其中之一。
提示45:只管命令不要?? 133
不要??象中取出值,在加以??后再塞回去,??象自己?完成?些
工作。
提示46:不要?式?用方法 135
???某事物?,使用的??不要超?一?。
提示47:避免全局?据 137
最好?每?方法增加一??外的??。
提示48:如果全局唯一非常重要,那么?它包?到API 中 137
……但是,?限于你真的非常希望它是全局的。
29 在??世界中?球?耍 139
30 ??式?程 149
提示49:?程?的是代?,而程序?的是?据 151
所有的程序都在???据——??入????出。?始用??式方法?
??吧!
提示50:不要囤???,??下去 156
不要把?据保持在函?或模?的?部,拿出???下去。
31 ?承? 162
提示51:不要付?承? 165
考?一下能更好?足需求的替代方案,比如接口、委托或mixin。
提示52:?量用接口?表?多? 167
?需?承引入的耦合,接口就能明确描述多?性。
提示53:用委托提供服?:“有一?”胜?“是一?” 167
不要?服?中?承,??包含服?。
提示54:利用 mixin 共享功能 169
mixin 不必承??承?就可以??添加功能,而与接口?合可以?
多?不再令人痛苦。
32 配置 170
提示55:使用外部配置??化?用程序 170
如果代??一些在?用程序?布后?有可能改?的值有所依?,那么
就在?用外部???些值。
第6章 并? 174
33 打破?域耦合 175
提示56:通?分析工作流?提高并?性 176
利用用?工作流中的并?性。
34 共享??是不正确的?? 179
提示57:共享??是不正确的?? 180
共享???????的麻?,而且往往只有重?才能解?。
提示58:?机故障通常是并??? 186
或???和上下文的?化能暴露并?Bug,但并?Bug?法始?保持
一致,也很?重?。
35 角色与?程 187
提示59:用角色??并?性?不必共享?? 188
使用角色?管理并???,可以避免?式的同步。
36 黑板 193
提示60:使用黑板???工作流 195
使用黑板???不相?的事?和代理人,能同?保持?与者之?的
?立性和孤立性。
第7章 ?你??? 198
37 听?蜥蜴? 199
提示61:?听你?心的蜥蜴 201
??程?步???,其?是?意?在告?你有什么地方不??。
38 巧合式?程 204
提示62:不要依?巧合?程 207
只能依?可靠的事物。注意偶然事件的复?性,不要混淆快?的巧合
与有目的的?划。
39 算法速度 210
提示63:?估算法的?? 214
在?始?程前,??件事情大概?花多???要有概念。
提示64:?估算做?? 214
??算法的??分析?法?明所有??,??在目??境中??一下
?行代?的耗?。
40 重构 216
提示65:?早重构,?常重构 219
像除草和翻整花?那?,只要有需要就?代??行重新??、修?
和架构,以便找到??的根源并加以修复。
41 ????? 220
提示66:??与找 Bug ?? 221
??是?察代?的一??角,可以?中得到????、接口和耦合度的
反?。
提示67:??是代?的第一?用? 222
用??的反??引?工作。
提示68:既非自上而下,也不自下而上,基于端?端构建 225
?建一小?端到端的功能,?中?悉??之所在。
提示69:???做?? 228
?下代?之前先???角度思考。
提示70:要??件做4


章節試讀:


我??得 Dave 和 Andy 第一次在推特上???本?的新版的那一刻——?可是一?大新?。在?程社?,所?之?都是???大新???的回?,人?的期待塞?了我的信息流。二十年?去了,《程序?修?之道》?本?的地位不?于?年。
承???一段?史的一本?,能引起??的反?,本身就?明了很多??。?了??篇序,我有幸在尚未出版前??了本?,?后我就明白了它?什么?引起?么大的??。本?,一本?被冠以技???之名,?人的印象??是不太好的。因?技???常常令人生畏——充斥?深?的??、晦?的??和令人?解的例子,不?意?就??你?得自己很愚蠢。而且,作者越有??,就越容易忘?初?者在??新概念?的感?。
Dave 和 Andy 的作品,?能透出那种只有???到?些?程的人才?有的??感,?管他?已有几十年的?程??,??胜了?出?种感?的挑?。他?不?居高?下地指指??,不?假定你是??家,甚至不??你已??本?第一版,??把你?成想要?得更好的程序?而已。他?不惜用整本?的篇幅??助你?到目?,一步一??印。
公平地?,在?方面,他?在?往已?成?斐然。最初的本?第一版,包含了?多具体的例子、新想法和?用的技巧,可以?助你修??程所需的“肌肉”和“大?”,?些?西到今天仍然适用。但是,?次在新版??中,又有了??改?。
第一??而易?:?除了一些?老的引用?容和??的例子,增?了大量新?、?代的?容。循?不?式或构建机??的例子已?看不到了。Dave 和 Andy 保留了第一版?中的重要?容,以确保相?的?程依然有效,而且?者也不必受?示例的干扰。?于像 DRY(不要重复自己)??的?思想,上面的灰?已被?去,并且涂上了一?新油漆——??做真的?其熠熠生?。
而第二?,才是?次新版???布真正令人??的地方。在?完本?第一版后,他?有机?思考自己想要?什么,想??者?得什么,以及?者是如何接受?些信息的。他?得到了?些?程的反?,也看到了?者在哪里被卡住、有什么需要改?,以及哪些?容被?解。在?本?通?全世界程序?的?手和心??播的二十年?,Dave 和 Andy 研究了?些回?,并且形成了新的想法和理念。
他???到自主?的重要性,并且意?到,相比大多?其他??人?,??者或?更能?自己做主。他?以??而深刻的?示?始?本?:“人生是你的。”??起了我?自己的力量,它就?含在我?的代??、工作和??生涯中。?也?本?的其他?容定下了基?——它不??是又一本充?代?示例的技???。
?本?必定?在??各种技???的?架上??而出,因?它理解身?一名程序?到底意味?什么。?程?涉?事——?量?少未?的痛苦,??友更?松,做?事情后能?重新振作起?,?成良好的??,以及理解工具集。?程只是程序?世界的一部分,而?本?探索了整?世界。
我在思考??之旅上花了很多??。我不是?小就?始接触?程的,大?里也????程?。可以?,我的青少年?光并?有花在“?弄”科技上,直到二十??的?候才?入了?程的世界,因而亟?想明白一件事情:成?一名程序?意味?什么。?程社?与我曾?身?的其他社?非常不同。其?特之?在于,人??不醉心于??和??,?既令人生畏,又?人耳目一新。
??我??,真像?入一?全新的世界。就算去到一?新城?,也有必要了解?居、挑???店、找到最好的咖啡店。我花了一段???了解地形,找到了最有效的路?,避?了交通最繁忙的街道,并且知道了什么?候交通可能?出??。等到天气?化,我又要去置??季的新衣。
?到一?新城?的?几周,甚至是?几?月,可能?很害怕。如果有一?已?在?里住了一段??的?居,而且他知??博又友好,那不是再好不?的事情???能?你四???,?能?你去那些咖啡店??然是一?在?地待了足????的,了解?地文化、?地?搏的人。??你不?有家的感?,?能成?一?同?有??的成?。Dave 和 Andy 就是??的?居。
一?准新人,更容易?成?程序?的?程,而不是??程的行?不知所措。因此,必??整?心?做一次切?——改???、行?和期望。??知道如何?程,并不??你成?一名更好的程序?,在???程中必???有意?和深思熟?的??。好在?在有了?本?,可以有效地指?你成?更好的程序?。
但不要搞?了——?本?不?告?你?程??是怎?的,它并?有使用那种哲?或?判的方式,它只是??、明了地告?你,什么是??的程序?——他?如何操作、如何?理代?。作者?你自己?定是否想成?其中的一?。如果你?得不适合,也?有人?怪罪你。但如果你?定成?其中的一?,作者就是你的友好?居,?陪伴左右、?你指路。
Saron Yitbarek
CodeNewbie ?始人及 CEO
Command Line Heroes 主?者

新版前言
在20世?90年代,我?在与一些?目存在??的公司合作?,???是在?每?人?同?的?:也?你??在?布之前先??一下。?什么代?只能在 Mary 的机器上构建??什么?有人?一下用?呢?
?了?省与新客?打交道的??,我??始做??。?些??最??成了《程序?修?之道》?本?。令人惊?的是,?本?似乎引起了大家的共?,在?去的二十年?,?本?一直很受?迎。
但是二十年?于?件?域??已??了好几代。如果一???者? 1999 年直接穿越到今天的??中,面???陌生的新世界一定??感?扎。但20世?90年代的世界?今天的??者??同?陌生。?中所引用的 CORBA、CASE 工具,以及索引、循??些?西,放在今天,充其量不?略?古雅有趣,而更多的??人??困扰。
与此同?,二十年?常??有?毫影?。技?可能改?了,但人?有。??和方法中的?光?,在今天看?光芒依?。在?些方面,本?保?如初。
所以,?我?要出版?本二十周年?念版的?候,必?做出抉?——是回?和更新前一版中引用的技?后就大功告成,?是充分借??平添的二十年丰富??,重新??前一版所推崇的??背后的种种假?。
最?,我??者都做了。
因此,?本?有?像忒修斯之船 。?中大?三分之一的主?是全新的,而其余的大部分都被部分或全部重?了。我?的目的是,??容?得更清晰、更?切,并在某种程度上不受??的影?。
我?做了一些??的?定。?除了?考?料附?,??做既因?它?法持?更新,也因??你有此需要?很容易就能搜索?得。我?重新??了与并?有?的主?,?是因?考?到?前有?大量的并行硬件,?缺乏?理并行的好方法。我??添加了一些?容?反映不??化的?知和?境,?我??助?起的敏捷??,到?函?式?程?境的日益接受,再到??私和安全性方面日益增?的需求。
然而有趣的是,我?之??于版本?容的??比?第一?版本?要少得多。重要的?西更容易辨?,?已是我?的共?。
??如何,?本?最后就是???子了,?享用吧。你也?可以?中吸取一些新的做法,也???得我?建?的某些?西是?的,不妨把它?都?到你的工作中去,然后?我?反?。
但是,最重要的是,?住?程要?心。
【?本?是如何??的】
?本?是?多短小主?的合集。每一?主?都??特定的??而?立成章。你???大量的交叉引用,?有助于把各?主???起?。你可以以任意次序?意???些主?——?不是一本需要??到尾??的?。
偶?你?看到一??有提示n的框起?的???(比如位于第XVII?的提示1:?注你的技?)。?些提示不?是文中的重?,在我?眼里也是一??生命——我?每天都?以?生。
我?已?可能适?地在?中加入了??和挑?。??通常有相???的答案,而挑??更加?放。?了?你理解我?的思?方式,在附?里我?列出了?些??的答案,但是?有唯一正确答案的??并不多。挑?或?能用于高??程?程中的小???,或?能作??文?作的基?。
本??有一??短的?考文?,列出了我?明确引用的??和文章。
【名字有什么含?】
“我用一??,”矮胖子相?傲慢地?,“?是同我想要?的恰如其分的,既不重,也不?。”
—— 路易斯·卡?《????中奇遇》
在整本?中,你???各种各?的行?——要么原本是完好的英???,?被曲解?技??,要么是一些可怕的合成?,由那些??言充?怨恨的?算机科?家?予其意?。?我?第一次使用?些行??,???定?它?,或者至少?其含??出解?。?然,肯定?有漏网之?,而且像?象和?系型?据??种已被?泛使用的,再下一次定?就有??蛇添足了。如果你遇到一?以前???的??,?不要跳?它,不妨花???去查一下,可以在网上查,也可以在?算机科?的?本上查。如果有机??可以?我???件投?,??我?就可以在本?下一版中增加一?定?。
既然?已至此,我??定?复一下?算机科?家。有?候,明明有一些非常好的??,?某?概念表?得很好,但我???定不使用?些??。?什么?因??有的??通常局限于特定的???域,或者特定的???段。而本?的基本哲?之一就是,我?推荐的大多?技?都是通用的:例如模?化,它就能同?适用于代?、??、文?和????。?某?????被拿?在更?泛的?景下使用?,??造成困惑——我?似乎?法??????最初就?始背?的?史包袱。??种情??生?,我?只好?明自己的??,助??虐地??言???落。
【第二版??】
在?去的二十年里,有成千上万?于?程的有趣??曾?我??心不已,其中不乏在??、?程,甚至是?机上与人?的偶遇。每一次??,都?加深我?????程的理解,并?此版本的更新添?加瓦。感?所有人(而且,?我?犯??的?候,???提醒)。
感?本? Beta ???程的?与者,是你?的??和??,?助我?把事情解?得更清楚。
在?行 Beta ??之前,我?曾与一些人分享?本?。感? VM (Vicky) Brasseur、 Jeff Langr、 Kim Shrier ?予的????,感? Jose


圖片預覽:

 
  步驟一.
依據網路上的圖書,挑選你所需要的書籍,根據以下步驟進行訂購
選擇產品及數量 結 帳 輸入基本資料 取貨與付款方式
┌───────────────────────────────────────────────────┘
資料確定 確認結帳 訂單編號    

步驟二.
完成付款的程序後,若採用貨到付款等宅配方式,3~7天內 ( 例假日將延期一至兩天 ) 您即可收到圖書。若至分店門市取貨,一週內聯絡取書。

步驟三.
完成購書程序者,可利用 訂單查詢 得知訂單進度。

注意事項.
● 付款方式若為網路刷卡必須等" 2 ~ 3 個工作天"確認款項已收到,才會出貨.如有更改書籍數量請記得按更新購物車,謝謝。

● 大陸出版品封面老舊、磨痕、凹痕等均屬常態,除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。

● 至2018年起,因中國大陸環保政策,部分書籍配件以QR CODE取代光盤音頻mp3或dvd,已無提供實體光盤。如需使用學習配件,請掃描QR CODE 連結至當地網站註冊並通過驗證程序,方可下載使用。造成不便,敬請見諒。

● 我們將保留所有商品出貨權利,如遇缺書情形,訂單未達免運門檻運費需自行負擔。

預訂海外庫存.
商品到貨時間須4週,訂單書籍備齊後方能出貨,如果您有急用書籍,建議與【預訂海外庫存】商品分開訂購。