編輯推薦
這是一本讓大師們都愛不釋手的書!
這不會是一本隻想要讀一遍的書!
這是一本不遜於《代碼大全》的偉大著作!
這是一本能幫助你成為編程高手的“武功秘籍”!
內容簡介
《程序員修煉之道:從小工到專傢》由一係列獨立的部分組成,涵蓋的主題從個人責任、職業發展,直到用於使代碼保持靈活、並且易於改編和復用的各種架構技術,利用許多富有娛樂性的奇聞軼事、有思想性的例子及有趣的類比,全麵闡釋瞭軟件開發的許多不同方麵的較佳實踐和重大陷阱。無論你是初學者,是有經驗的程序員,還是軟件項目經理,本書都適閤你閱讀。
作者簡介
亨特(Andy Hunt),是一位熱切的木匠和音樂傢,但奇怪的是,人們更需要作為顧問的他。他的工作領域包括電信、銀行、金融服務、公共服務,以及一些更奇特的領域,比如醫學成像、圖形藝術、Internet服務。
Andy的專長是把經過驗證的技術與先進的技術混閤在一起,創建各種新穎的——但也是實用的——解決方案。Andy在北卡羅萊納州的羅利市擁有自己的顧問公司。
托馬斯(Dave Thomas),喜歡駕駛單引擎飛機飛行,並通過這樣的方式為他的習慣付賬:為各種難題尋找優雅的解決方案,提供諸多領域裏的谘詢服務——航空、銀行、金融服務、電信、交通運輸及Internet。在於1994年移居美國前,Dave在英國創立瞭一傢通過ISO9001認證的軟件公司,為世界各地的客戶開發成熟、定製的軟件項目。Dave現在是一位獨立顧問,居住在德剋薩斯州的達拉斯。
以ThePragmaticProgrammer,L.L.C的名義,Dave與Andy正在協同工作,把閤起來超過四十年的專業經驗帶給美國各地的客戶。
馬維達,《C++網絡編程(捲2)》與《ACE自適配通信環境技術文檔》的譯者,技術興趣為C++網絡編程(ACE)與分布式對象計算(InternetCommunicationsEngine)。
內頁插圖
目錄
前言
序
第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 練習解答
索引
注重實效的程序員之快速參考指南
精彩書摘
依據你的職業發展、你的項目和你每天的工作,為你自己和你的行為負責這樣一種觀念,是注重實效的哲學的一塊基石。注重實效的程序員對他或她自己的職業生涯負責,並且不害怕承認無知或錯誤。這肯定並非是編程最令人愉悅的方麵,但它肯定會發生——即使是在最好的項目中。盡管有徹底的測試、良好的文檔以及足夠的自動化,事情還是會齣錯。交付晚瞭,齣現瞭未曾預見到的技術問題。發生這樣的事情,我們要設法盡可能職業地處理它們。這意味著誠實和坦率。我們可以為我們的能力自豪,但對於我們的缺點——還有我們的無知和我們的錯誤——我們必須誠實。
責任是你主動擔負的東西。你承諾確保某件事情正確完成,但你不一定能直接控製事情的每一個方麵。除瞭盡你所能以外,你必須分析風險是否超齣瞭你的控製。對於不可能做到的事情或是風險太大的事情,你有權不去為之負責。你必須基於你自己的道德準則和判斷來做齣決定。
如果你確實同意要為某個結果負責,你就應切實負起責任。當你犯錯誤(就如同我們所有人都會犯錯誤一樣)、或是判斷失誤時,誠實地承認它,並設法給齣各種選擇。不要責備彆人或彆的東西,或是拼湊藉口。不要把所有問題都歸咎於供應商、編程語言、管理部門、或是你的同事。也許他(它)們全體或是某幾方在其中扮演瞭某種角色,但你可以選擇提供解決方案,而非尋找藉口。
如果存在供應商不能按時供貨的風險,你應該預先製定一份應急計劃。如果磁盤垮瞭——帶走瞭你的所有源碼一而你沒有做備份,那是你的錯。告訴你的老闆“我的源碼讓貓給吃瞭”也無法改變這一點。
……
前言/序言
作為評閱者,我得到瞭提早閱讀你拿在手上的這本書的機會。即使當時還隻是草稿,它就已是一本很好的書。DaveThomas和AndyHunt有話要說,並且知道怎樣去說。我見過他們所做的事情,知道他們所說的將是有效的。我請求讓我來撰寫這篇前言,以便有機會嚮你解釋其中的原因。
簡而言之,本書將告訴你怎樣以一種你能夠遵循的方式去編程。也許你不認為這是一件睏難的事情,但事情卻並非如此。為什麼?原因之一是,並非所有的編程書籍都是由程序員撰寫的。其中有許多是由語言設計者、或是與他們有閤作關係的報刊記者編撰而成,意在推銷他們的作品。那些書告訴你怎樣通過某種編程語言進行錶達——這當然很重要,但卻隻是程序員所做的事情的一小部分。
除瞭通過編程語言進行錶達,程序員還要做些什麼?嗯,這是一個更深入的問題。大多數程序員在解釋他們所做的事情這個問題上都會有睏難。編程是一項充滿瞭各種細節的工作,追蹤這些細節需要專注。時間流逝、代碼齣現,你查看它們,那裏全是些語句。如果你不仔細思考,你也許會以為編程不過就是敲入某種編程語言的語句。你當然錯瞭,但找遍書店的編程專櫃,你卻還是講不齣所以然。
在《程序員修煉之道》一書中,Dave和Andy將告訴我們怎樣以一種我們能夠遵循的方式編程。他們何以能這樣聰明?他們不也是和其他程序員一樣,專注於各種細節而已嗎?答案是他們在做某件事情時,會把注意力投注在他們在做的事情上——然後他們會試著把它做得更好。
設想你在參加一個會議。或許你在想,這個會議沒完沒瞭,你還不如去寫程序。而Dave和Andy會想,他們為什麼在開會,他們想知道是否可以通過另外的方式取代會議,並決定是否可使某樣事情自動化,以使開會的工作推後。然後他們就會這樣去做。
這就是Dave和Andy思考的方式。開會並非是某種使他們遠離編程的事情。開會就是編程,並且是能夠加以改善的編程。我之所以知道他們以這樣的方式思考,是因為這是書中的第二條提示:思考你的工作。
那麼再設想一下,他們這樣思考瞭幾年。很快他們就會擁有一堆解決方案。現在設想他們在工作中使用這些解決方案,又是幾年;他們還放棄瞭其中太過睏難、或者不能總是産生結果的解決方案。噢,這樣的途徑幾乎定義瞭“pragmatic”(注重實效)的含義。現在設想他們又用瞭一兩年來寫下他們的解決方案。你也許會想,這些信息可真是金礦。你想對瞭。
兩位作者告訴我們他們是怎樣編程的,並且是以一種我們能夠遵循的方式來告訴我們的。但這一陳述的後半部分的含義也許要多於你所想到的。讓我來解釋一下。
程序員修煉之道:從小工到專傢 下載 mobi epub pdf txt 電子書
評分
☆☆☆☆☆
聽說是程序員必備枕頭書,翻瞭十來頁,感覺很棒
評分
☆☆☆☆☆
首先贊一下物流,還是那麼給力。其次贊一下京東自營書籍活動,能讓我買得起書。一口氣買瞭一大堆,平均下來每本十幾,二十來塊錢。
評分
☆☆☆☆☆
紙張質量不錯,裏麵的內容很贊,需要一點一點細細品讀,文字組織不死闆,比較好玩
評分
☆☆☆☆☆
好書,多看看,修煉一下自己
評分
☆☆☆☆☆
買瞭一大堆書,超開心的。
評分
☆☆☆☆☆
非常好的書,編程認知的起點,贊一個
評分
☆☆☆☆☆
很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好很好
評分
☆☆☆☆☆
非常的好,裏麵的例子也非常的經典,對以後的發展很有幫助。
評分
☆☆☆☆☆
這本書內容不錯,還很實用,師傅送貨也快,下次還來買,搞活動時候買的,比較值。