書(shū)馨卡幫你省薪 2024個(gè)人購(gòu)書(shū)報(bào)告 2024中圖網(wǎng)年度報(bào)告
歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)
> >>
程序員修煉之道:通向務(wù)實(shí)的最高境界(第2版)

程序員修煉之道:通向務(wù)實(shí)的最高境界(第2版)

出版社:電子工業(yè)出版社出版時(shí)間:2020-04-01
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 344
中 圖 價(jià):¥54.3(6.1折) 定價(jià)  ¥89.0 登錄后可看到會(huì)員價(jià)
加入購(gòu)物車(chē) 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
本類(lèi)五星書(shū)更多>

程序員修煉之道:通向務(wù)實(shí)的最高境界(第2版) 版權(quán)信息

程序員修煉之道:通向務(wù)實(shí)的最高境界(第2版) 本書(shū)特色

《程序員修煉之道》之所以在全球范圍內(nèi)廣泛傳播,被一代代開(kāi)發(fā)者奉為圭臬,蓋因它可以創(chuàng)造出真正的價(jià)值:或編寫(xiě)出更好的軟件,或探究出編程的本質(zhì),而所有收獲均不依賴于特定語(yǔ)言、框架和方法。時(shí)隔20年的新版,經(jīng)過(guò)全面的重新選材、組織和編寫(xiě),覆蓋哲學(xué)、方法、工具、設(shè)計(jì)、解耦、并發(fā)、重構(gòu)、需求、團(tuán)隊(duì)等務(wù)實(shí)話題的*實(shí)踐及重大陷阱,以及易于改造、復(fù)用的架構(gòu)技術(shù)。本書(shū)極具洞察力與趣味性,適合從初學(xué)者到架構(gòu)師的各階層讀者潛心研讀或增廣見(jiàn)聞。

程序員修煉之道:通向務(wù)實(shí)的最高境界(第2版) 內(nèi)容簡(jiǎn)介

√ 屹立 20 年影響力大作,成功案例數(shù)以千萬(wàn)計(jì),凌駕于任何語(yǔ)言|框架|方法之上。 √ 面向未來(lái)重寫(xiě)全部?jī)?nèi)容,從程序員責(zé)任與職業(yè)發(fā)展,到靈活|易適配|可重用架構(gòu)。 √ 53個(gè)核心話題|99個(gè)高能提示,闡明軟件開(kāi)發(fā)走向卓越之路及途中各種典型陷阱。 √ 編程界傳奇人物云風(fēng)操刀翻譯,至理|奧義|案例|技巧之原著精微,無(wú)不掘至毫巔。 ◎與“軟件腐爛”做斗爭(zhēng) ◎持續(xù)學(xué)習(xí) ◎避免知識(shí)重復(fù)的陷阱 ◎?qū)懗鲇袕椥、?dòng)態(tài)、適配性強(qiáng)的代碼 ◎駕馭基本工具的力量 ◎避免依賴巧合編程 ◎?qū)W習(xí)真正的需求 ◎解決并發(fā)代碼的底層問(wèn)題 ◎防范安全漏洞 ◎建立務(wù)實(shí)程序員構(gòu)成的團(tuán)隊(duì) ◎?qū)δ愕墓ぷ骱褪聵I(yè)負(fù)責(zé) ◎無(wú)情而有效地做測(cè)試,包括基于特性的測(cè)試 ◎組建務(wù)實(shí)的入門(mén)套件 ◎取悅你的用戶

程序員修煉之道:通向務(wù)實(shí)的最高境界(第2版) 目錄

序 XVII
新版前言 XXI
**版前言 XV
提示1:關(guān)注你的技藝 XVII
如果你不關(guān)心怎么做好,為什么還要花時(shí)間去開(kāi)發(fā)軟件呢?
提示2:思考!思考你的工作 XVII
關(guān)掉輔助駕駛,由自己掌控,持續(xù)不斷地評(píng)估所做的工作。
第1章 務(wù)實(shí)的哲學(xué) 1
1 人生是你的 2
提示3:你有權(quán)選擇 3
人生是自己的。把握住人生,讓它如你所愿。
2 我的源碼被貓吃了 3
提示4:提供選擇,別找借口 5
提供選擇而不是去找理由。不要只說(shuō)做不到;解釋一下都能做些什么。
3 軟件的熵 6
提示5:不要放任破窗 7
只要看到不好的設(shè)計(jì)、錯(cuò)誤的決策、糟糕的代碼,就趕緊去糾正。
4 石頭做的湯和煮熟的青蛙 9
提示6:做推動(dòng)變革的催化劑 10
你無(wú)法強(qiáng)迫人們?nèi)ジ淖,但可以展示美好未?lái),并幫助他們參與創(chuàng)造。
提示7:牢記全景 10
不要過(guò)度沉浸于細(xì)枝末節(jié),以免察覺(jué)不到周?chē)诎l(fā)生的事情。
5 夠好即可的軟件 11
提示8:將質(zhì)量要求視為需求問(wèn)題 12
讓用戶參與對(duì)項(xiàng)目真實(shí)質(zhì)量需求的確定。
6 知識(shí)組合 14
提示9:對(duì)知識(shí)組合做定期投資 16
養(yǎng)成學(xué)習(xí)的習(xí)慣。
提示10:批判性地分析你讀到和聽(tīng)到的東西 18
不要受供應(yīng)商、媒體炒作或教條的影響,根據(jù)自身和項(xiàng)目的實(shí)際情況來(lái)
分析信息。
7 交流! 20
提示11:英語(yǔ)就是另一門(mén)編程語(yǔ)言 20
將英語(yǔ)視作一門(mén)編程語(yǔ)言。寫(xiě)文檔和編程一樣要遵循 DRY 原則、ETC、
自動(dòng)化等。
提示12:說(shuō)什么和怎么說(shuō)同樣重要 23
如果無(wú)法有效交流,任何偉大的想法都是沒(méi)有意義的。
提示13:把文檔嵌進(jìn)去,而不要栓在表面 24
與代碼隔離的文檔,很難保持正確并及時(shí)更新。
第2章 務(wù)實(shí)的方法 27
8 優(yōu)秀設(shè)計(jì)的精髓 28
提示14:優(yōu)秀的設(shè)計(jì)比糟糕的設(shè)計(jì)更容易變更 28
適合使用者的事物,都已經(jīng)過(guò)良好設(shè)計(jì)。對(duì)代碼來(lái)說(shuō),這意味著必須適應(yīng)
變化。
9 DRY——邪惡的重復(fù) 30
提示15:DRY——不要重復(fù)自己 31
系統(tǒng)中的每一條知識(shí),都必須有單一且無(wú)歧義的權(quán)威陳述。
提示16:讓復(fù)用變得更容易 39
只要復(fù)用方便,人們就會(huì)去做。創(chuàng)建一個(gè)支持復(fù)用的環(huán)境。
10 正交性 40
提示17:消除不相關(guān)事物之間的影響 41
設(shè)計(jì)的組件,需要自成一體、獨(dú)立自主,有單一的清晰定義的意圖。
11 可逆性 48
提示18:不設(shè)*終決定 50
不要把決定刻在石頭上,而要將其視為寫(xiě)在沙灘上的東西,時(shí)刻準(zhǔn)備
應(yīng)變。
提示19:放棄追逐時(shí)尚 50
尼爾·福特說(shuō)過(guò):“昨日之*佳實(shí)踐,即明日之反模式。”要基于基本
原則去選擇架構(gòu),而不應(yīng)盲從于流行。
12 曳光彈 51
提示20:使用曳光彈找到目標(biāo) 53
通過(guò)不斷嘗試并看清著彈點(diǎn),曳光彈可確保你*終擊中目標(biāo)。
13 原型與便簽 57
提示21:用原型學(xué)習(xí) 58
制作原型旨在學(xué)習(xí)經(jīng)驗(yàn),其價(jià)值不在于過(guò)程中產(chǎn)生的代碼,而在于
得到的教訓(xùn)。
14 領(lǐng)域語(yǔ)言 60
提示22:靠近問(wèn)題域編程 61
用問(wèn)題領(lǐng)域的語(yǔ)言來(lái)做設(shè)計(jì)和編程。
15 估算 67
提示23:通過(guò)估算來(lái)避免意外 67
開(kāi)始之前做估算,能提前發(fā)現(xiàn)潛在問(wèn)題。
提示24:根據(jù)代碼不斷迭代進(jìn)度表 72
利用實(shí)施過(guò)程中獲得的經(jīng)驗(yàn)來(lái)精細(xì)化項(xiàng)目的時(shí)間尺度。
第3章 基礎(chǔ)工具 74
16 純文本的威力 75
提示25:將知識(shí)用純文本保存 76
純文本不會(huì)過(guò)時(shí)。它能夠讓你的工作事半功倍,并能簡(jiǎn)化調(diào)試和測(cè)試
工作。
17 Shell游戲 79
提示26:發(fā)揮 Shell 命令的威力 80
當(dāng)圖形化界面無(wú)法勝任時(shí),使用 Shell。
18 加強(qiáng)編輯能力 82
提示27:游刃有余地使用編輯器 82
既然編輯器是至關(guān)重要的工具,不妨了解一下如何用它更快更準(zhǔn)確地
實(shí)現(xiàn)需求。
19 版本控制 85
提示28:永遠(yuǎn)使用版本控制 87
版本控制為你的工作創(chuàng)造了一個(gè)時(shí)間機(jī)器,可以用它重返過(guò)去。
20 調(diào)試 90
提示29:去解決問(wèn)題,而不是責(zé)備 91
Bug 到底來(lái)自你的失誤還是別人的失誤真的不重要——它終究是你的
問(wèn)題,需要你來(lái)修復(fù)。
提示30:不要恐慌 91
不管是對(duì)銀河系搭車(chē)客,還是對(duì)開(kāi)發(fā)者來(lái)說(shuō),都應(yīng)這樣。
提示31:修代碼前先讓代碼在測(cè)試中失敗 93
在你修 Bug 前,先創(chuàng)建一個(gè)聚焦于該 Bug 的測(cè)試。
提示32:讀一下那些該死的出錯(cuò)信息 93
大多數(shù)異常都能告訴失敗之物與失敗之處。如果足夠幸運(yùn),你甚至能
得到具體的參數(shù)值。
提示33:“select”沒(méi)出問(wèn)題 97
在操作系統(tǒng)或編譯器中發(fā)現(xiàn) Bug 非常罕見(jiàn),甚至在第三方產(chǎn)品或庫(kù)中
也是如此。Bug 大多出現(xiàn)在應(yīng)用程序中。
提示34:不要假設(shè),要證明 97
在真實(shí)環(huán)境中證實(shí)你的假設(shè)——要依賴真實(shí)的數(shù)據(jù)及邊界條件。
21 文本處理 99
提示35:學(xué)習(xí)一門(mén)文本處理語(yǔ)言 99
既然每天都要花大量的時(shí)間與文本打交道,何不讓計(jì)算機(jī)幫你分擔(dān)一二?
22 工程日記 101
第4章 務(wù)實(shí)的偏執(zhí) 103
提示36:你無(wú)法寫(xiě)出完美的軟件 103
軟件不可能是完美的。對(duì)于在所難免的錯(cuò)誤,要保護(hù)代碼和用戶免受其
影響。
23 契約式設(shè)計(jì) 104
提示37:通過(guò)契約進(jìn)行設(shè)計(jì) 107
代碼是否不多不少剛好完成它宣稱要做的事情,可以使用契約加以校驗(yàn)
和文檔化。
24 死掉的程序不會(huì)說(shuō)謊 113
提示38:盡早崩潰 114
徹底死掉的程序通常比有缺陷的程序造成的損害要小。
25 斷言式編程 115
提示39:使用斷言去預(yù)防不可能的事情 115
如果一件事情不可能發(fā)生,那么就用斷言來(lái)確保其的確不會(huì)發(fā)生。斷言
在校驗(yàn)?zāi)愕募僭O(shè),要使用斷言在不確定的世界中將你的代碼保護(hù)起來(lái)。
26 如何保持資源的平衡 119
提示40:有始有終 119
只要有可能,對(duì)資源進(jìn)行分配的函數(shù)或?qū)ο缶陀胸?zé)任去釋放該資源。

提示41:在局部行動(dòng) 122
將易變的變量維持在一個(gè)范圍內(nèi),打開(kāi)資源的過(guò)程要短暫且明顯可見(jiàn)。
27 不要沖出前燈范圍 127
提示42:小步前進(jìn)——由始至終 127
永遠(yuǎn)小步前進(jìn),不斷檢查反饋,并且在推進(jìn)前先做調(diào)整。
提示43:避免占卜 129
只在你能看到的范圍內(nèi)做計(jì)劃。
第5章 寧彎不折 130
28 解耦 131
提示44:解耦代碼讓改變更容易 132
耦合使事物緊緊綁定在一起,以至于很難只改變其中之一。
提示45:只管命令不要詢問(wèn) 133
不要從對(duì)象中取出值,在加以變換后再塞回去,讓對(duì)象自己來(lái)完成這些
工作。
提示46:不要鏈?zhǔn)秸{(diào)用方法 135
當(dāng)訪問(wèn)某事物時(shí),使用的點(diǎn)號(hào)不要超過(guò)一個(gè)。
提示47:避免全局?jǐn)?shù)據(jù) 137
*好給每個(gè)方法增加一個(gè)額外的參數(shù)。
提示48:如果全局唯一非常重要,那么將它包裝到API 中 137
……但是,僅限于你真的非常希望它是全局的。
29 在現(xiàn)實(shí)世界中拋球雜耍 139
30 變換式編程 149
提示49:編程講的是代碼,而程序談的是數(shù)據(jù) 151
所有的程序都在變換數(shù)據(jù)——將輸入轉(zhuǎn)換為輸出。開(kāi)始用變換式方法來(lái)
設(shè)計(jì)吧!
提示50:不要囤積狀態(tài),傳遞下去 156
不要把數(shù)據(jù)保持在函數(shù)或模塊的內(nèi)部,拿出來(lái)傳遞下去。
31 繼承稅 162
提示51:不要付繼承稅 165
考慮一下能更好滿足需求的替代方案,比如接口、委托或mixin。
提示52:盡量用接口來(lái)表達(dá)多態(tài) 167
無(wú)需繼承引入的耦合,接口就能明確描述多態(tài)性。
提示53:用委托提供服務(wù):“有一個(gè)”勝過(guò)“是一個(gè)” 167
不要從服務(wù)中繼承,應(yīng)該包含服務(wù)。
提示54:利用 mixin 共享功能 169
mixin 不必承擔(dān)繼承稅就可以給類(lèi)添加功能,而與接口結(jié)合可以讓
多態(tài)不再令人痛苦。
32 配置 170
提示55:使用外部配置參數(shù)化應(yīng)用程序 170
如果代碼對(duì)一些在應(yīng)用程序發(fā)布后還有可能改變的值有所依賴,那么
就在應(yīng)用外部維護(hù)這些值。
第6章 并發(fā) 174
33 打破時(shí)域耦合 175
提示56:通過(guò)分析工作流來(lái)提高并發(fā)性 176
利用用戶工作流中的并發(fā)性。
34 共享狀態(tài)是不正確的狀態(tài) 179
提示57:共享狀態(tài)是不正確的狀態(tài) 180
共享狀態(tài)會(huì)帶來(lái)無(wú)窮的麻煩,而且往往只有重啟才能解決。
提示58:隨機(jī)故障通常是并發(fā)問(wèn)題 186
或許時(shí)間和上下文的變化能暴露并發(fā)Bug,但并發(fā)Bug無(wú)法始終保持
一致,也很難重現(xiàn)。
35 角色與進(jìn)程 187
提示59:用角色實(shí)現(xiàn)并發(fā)性時(shí)不必共享狀態(tài) 188
使用角色來(lái)管理并發(fā)狀態(tài),可以避免顯式的同步。
36 黑板 193
提示60:使用黑板來(lái)協(xié)調(diào)工作流 195
使用黑板來(lái)協(xié)調(diào)不相關(guān)的事實(shí)和代理人,能同時(shí)保持參與者之間的
獨(dú)立性和孤立性。
第7章 當(dāng)你編碼時(shí) 198
37 聽(tīng)從蜥蜴腦 199
提示61:傾聽(tīng)你內(nèi)心的蜥蜴 201
當(dāng)編程舉步維艱時(shí),其實(shí)是潛意識(shí)在告訴你有什么地方不對(duì)勁。
38 巧合式編程 204
提示62:不要依賴巧合編程 207
只能依賴可靠的事物。注意偶然事件的復(fù)雜性,不要混淆快樂(lè)的巧合
與有目的的計(jì)劃。
39 算法速度 210
提示63:評(píng)估算法的級(jí)別 214
在開(kāi)始編程前,對(duì)這件事情大概會(huì)花多長(zhǎng)時(shí)間要有概念。
提示64:對(duì)估算做測(cè)試 214
針對(duì)算法的數(shù)學(xué)分析無(wú)法說(shuō)明所有問(wèn)題,嘗試在目標(biāo)環(huán)境中測(cè)試一下
執(zhí)行代碼的耗時(shí)。
40 重構(gòu) 216
提示65:盡早重構(gòu),經(jīng)常重構(gòu) 219
像除草和翻整花園那樣,只要有需要就對(duì)代碼進(jìn)行重新編寫(xiě)、修訂
和架構(gòu),以便找到問(wèn)題的根源并加以修復(fù)。
41 為編碼測(cè)試 220
提示66:測(cè)試與找 Bug 無(wú)關(guān) 221
測(cè)試是觀察代碼的一個(gè)視角,可以從中得到針對(duì)設(shè)計(jì)、接口和耦合度的
反饋。
提示67:測(cè)試是代碼的**個(gè)用戶 222
用測(cè)試的反饋來(lái)引導(dǎo)工作。
提示68:既非自上而下,也不自下而上,基于端對(duì)端構(gòu)建 225
創(chuàng)建一小塊端到端的功能,從中獲悉問(wèn)題之所在。
提示69:為測(cè)試做設(shè)計(jì) 228
寫(xiě)下代碼之前先從測(cè)試角度思考。
提示70:要對(duì)軟件做4
展開(kāi)全部

程序員修煉之道:通向務(wù)實(shí)的最高境界(第2版) 相關(guān)資料

這樣的贊美一直不絕于耳:通過(guò)撰寫(xiě)一本書(shū)來(lái)推動(dòng)整個(gè)行業(yè),是 Andy 和 Dave 用《程序員修煉之道:從小工到專家》完成的一大壯舉,無(wú)人可以超越。然而,有時(shí)兩次閃電的確會(huì)擊中同一個(gè)地方,這部名著的再版即為明證。其令人震撼的內(nèi)容更新,足以確保自身在未來(lái)二十年里繼續(xù)雄踞“精選軟件開(kāi)發(fā)圖書(shū)”榜單之首,此可謂實(shí)至名歸。
—— VM (Vicky) Brasseur
瞻博網(wǎng)絡(luò)開(kāi)源戰(zhàn)略總監(jiān) 如果想讓自己的軟件既領(lǐng)先于時(shí)代又易于維護(hù),就在手邊擺放一本《程序員修煉之道:通向務(wù)實(shí)的*境界(第2版)》。本書(shū)充滿實(shí)用建議,有技術(shù)方面的,也有專業(yè)方面的,無(wú)不能讓你和你的項(xiàng)目受益多年。
—— Andrea Goulet
Corgibytes 公司 CEO
LegacyCode.Rocks 創(chuàng)始人 可以說(shuō),《程序員修煉之道》完全改變了我的職業(yè)軌跡,為我指明了軟件領(lǐng)域的成功方向。正是這本書(shū),開(kāi)闊了我的視野,讓我意識(shí)到自己不僅僅是龐大機(jī)器上的一枚齒輪,有朝一日也能藉由修煉成為匠師。它是我生命中*重要的一本書(shū)。
—— Obie Fernandez
《Rails 之道》作者 初讀此書(shū)的讀者,在見(jiàn)識(shí)到那個(gè)軟件開(kāi)發(fā)實(shí)踐的新世界時(shí),立刻充滿期待。而*版圖書(shū),對(duì)塑造這樣一個(gè)迷人的現(xiàn)代世界,的確厥功至偉,F(xiàn)在,*版的讀者將有機(jī)會(huì)在新版中重溫舊夢(mèng),再次接受洞察力和實(shí)踐智慧的洗禮,而《程序員修煉之道》當(dāng)初正因此被奉為圭臬。更重要的是,經(jīng)由兩位專家親手組織與更新的再版圖書(shū),業(yè)已因富含新知而重?zé)ㄇ啻骸?br />—— David A. Black
《Ruby程序員修煉之道》作者 舊版的《程序員修煉之道》一直駐留在我的書(shū)架上。從很久以前它改變我作為一個(gè)程序員的工作方式那一刻起,我讀了又讀。在這個(gè)全新的版本中,一切似乎都已改變,而一切又仿佛還在那里。雖然我們現(xiàn)在換用 iPad 閱讀新版,其代碼示例也改由現(xiàn)代編程語(yǔ)言實(shí)現(xiàn)——但是蘊(yùn)藏其中的概念、思想和態(tài)度,亙古不變且通行宇宙。二十年過(guò)去,這本書(shū)的價(jià)值從未折損,F(xiàn)在乃至將來(lái)的開(kāi)發(fā)人員,都有機(jī)會(huì)從 Andy 和 Dave 的深刻洞見(jiàn)中獲益,正如當(dāng)年的我一樣,這讓人備感欣慰。
—— Sandy Mamoli
敏捷教練
How Self-Selection Lets People Excel 作者 二十年前,《程序員修煉之道》的*版徹底顛覆了我的技術(shù)生涯。這次的新版,也將對(duì)你有此影響。
—— Mike Cohn
《Scrum敏捷軟件開(kāi)發(fā)》
《敏捷估計(jì)與規(guī)劃》
《用戶故事與敏捷方法》作者

程序員修煉之道:通向務(wù)實(shí)的最高境界(第2版) 作者簡(jiǎn)介

Dave Thomas喜歡駕駛單引擎飛機(jī)飛行,而之所以能負(fù)擔(dān)這樣奢侈的愛(ài)好,是因?yàn)樗瞄L(zhǎng)于為各種難題尋找優(yōu)雅的解決方案,提供諸多領(lǐng)域里的咨詢服務(wù)——航空、銀行、金融服務(wù)、電信、交通運(yùn)輸及互聯(lián)網(wǎng)。在于1994年移居美國(guó)前,Dave在英國(guó)創(chuàng)立了一家通過(guò)ISO9001認(rèn)證的軟件公司,為世界各地的客戶開(kāi)發(fā)成熟、定制的軟件項(xiàng)目。Dave現(xiàn)在是一位獨(dú)立顧問(wèn),居住在德克薩斯州的達(dá)拉斯。Andy Hunt是一位熱情的木匠和音樂(lè)家,但奇怪的是,他另一個(gè)顧問(wèn)的身份,給為人們所推崇。他的工作領(lǐng)域包括電信、銀行、金融服務(wù)、公共服務(wù),以及一些更奇特的領(lǐng)域,比如醫(yī)學(xué)成像、圖形藝術(shù)、互聯(lián)網(wǎng)服務(wù)。Andy的專長(zhǎng)是把經(jīng)過(guò)驗(yàn)證的技術(shù)與先進(jìn)的技術(shù)混合在一起,創(chuàng)建各種新穎的——但也是實(shí)用的——解決方案。Andy在北卡羅萊納州的羅利市擁有自己的顧問(wèn)公司。兩位作者正在協(xié)同工作,以ThePragmaticProgrammer公司的名義,把合起來(lái)超過(guò)四十年的專業(yè)經(jīng)驗(yàn)帶給美國(guó)各地的客戶。
譯者云風(fēng)(真名吳云洋),曾任網(wǎng)易杭州研究中心總監(jiān),是網(wǎng)易《大話西游》《夢(mèng)幻西游》等知名游戲的主要開(kāi)發(fā)者;2011 年與前網(wǎng)易 COO 詹鐘暉聯(lián)合創(chuàng)辦簡(jiǎn)悅(EJOY)游戲公司,兼任 CTO,現(xiàn)該公司已被阿里收購(gòu);在互聯(lián)網(wǎng)、游戲界擁有較高技術(shù)影響力,常年發(fā)表博客文章,并著有《游戲之旅》及《Effective C (評(píng)注版)》。

暫無(wú)評(píng)論……
書(shū)友推薦
本類(lèi)暢銷(xiāo)
返回頂部
中圖網(wǎng)
在線客服