程序員修煉之道

出版時間:2011-1  出版社:電子工業(yè)出版社  作者:Andrew Hunt,David Thomas  頁數(shù):272  譯者:馬維達  
Tag標簽:無  

前言

作為評閱者,我得到了提早閱讀你拿在手上的這本書的機會。即使當時還只是草稿,它就已是一本很好的書。Dave Thomas和Andy Hunt有話要說,并且知道怎樣去說。我見過他們所做的事情,知道他們所說的將是有效的。我請求讓我來撰寫這篇前言,以便有機會向你解釋其中的原因。簡而言之,本書將告訴你怎樣以一種你能夠遵循的方式去編程。也許你不認為這是一件困難的事情,但事情卻并非如此。為什么?原因之一是,并非所有的編程書籍都是由程序員撰寫的。其中有許多是由語言設(shè)計者、或是與他們有合作關(guān)系的報刊記者編撰而成,意在推銷他們的作品。那些書告訴你怎樣通過某種編程語言進行表達——這當然很重要,但卻只是程序員所做的事情的一小部分。除了通過編程語言進行表達,程序員還要做些什么?嗯,這是一個更深入的問題。大多數(shù)程序員在解釋他們所做的事情這個問題上都會有困難。編程是一項充滿了各種細節(jié)的工作,追蹤這些細節(jié)需要專注。時間流逝、代碼出現(xiàn),你查看它們,那里全是些語句。如果你不仔細思考,你也許會以為編程不過就是敲入某種編程語言的語句。你當然錯了,但找遍書店的編程專柜,你卻還是講不出所以然。在《程序員修煉之道》一書中,Dave和Andy將告訴我們怎樣以一種我們能夠遵循的方式編程。他們何以能這樣聰明?他們不也是和其他程序員一樣,專注于各種細節(jié)而已嗎?答案是他們在做某件事情時,會把注意力投注在他們在做的事情上——然后他們會試著把它做得更好。設(shè)想你在參加一個會議?;蛟S你在想,這個會議沒完沒了,你還不如去寫程序。而Dave和Andy會想,他們?yōu)槭裁丛陂_會,他們想知道是否可以通過另外的方式取代會議,并決定是否可使某樣事情自動化,以使開會的工作推后。然后他們就會這樣去做。這就是Dave和Andy思考的方式。開會并非是某種使他們遠離編程的事情。開會就是編程,并且是能夠加以改善的編程。我之所以知道他們以這樣的方式思考,是因為這是書中的第二條提示:思考你的工作。那么再設(shè)想一下,他們這樣思考了幾年。很快他們就會擁有一堆解決方案。現(xiàn)在設(shè)想他們在工作中使用這些解決方案,又是幾年;他們還放棄了其中太過困難、或者不能總是產(chǎn)生結(jié)果的解決方案。噢,這樣的途徑幾乎定義了“pragmatic”(注重實效)的含義?,F(xiàn)在設(shè)想他們又用了一兩年來寫下他們的解決方案。你也許會想,這些信息可真是金礦。你想對了。兩位作者告訴我們他們是怎樣編程的,并且是以一種我們能夠遵循的方式來告訴我們的。但這一陳述的后半部分的含義也許要多于你所想到的。讓我來解釋一下。

內(nèi)容概要

《程序員修煉之道》由一系列獨立的部分組成,涵蓋的主題從個人責任、職業(yè)發(fā)展,直到用于使代碼保持靈活、并且易于改編和復(fù)用的各種架構(gòu)技術(shù),利用許多富有娛樂性的奇聞軼事、有思想性的例子及有趣的類比,全面闡釋了軟件開發(fā)的許多不同方面的最佳實踐和重大陷阱。無論你是初學(xué)者,是有經(jīng)驗的程序員,還是軟件項目經(jīng)理,本書都適合你閱讀。

作者簡介

作者:(美國)亨特(Andrew Hunt) (美國)托馬斯(David Thomas) 譯者:馬維達亨特(Andy Hunt)是一位熱切的木匠和音樂家,但奇怪的是,人們更需要作為顧問的他。他的工作領(lǐng)域包括電信、銀行、金融服務(wù)、公共服務(wù),以及一些更奇特的領(lǐng)域,比如醫(yī)學(xué)成像、圖形藝術(shù)、Internet服務(wù)。Andy的專長是把經(jīng)過驗證的技術(shù)與先進的技術(shù)混合在一起,創(chuàng)建各種新穎的——但也是實用的——解決方案。Andy在北卡羅萊納州的羅利市擁有自己的顧問公司。托馬斯(Dave Thomas),喜歡駕駛單引擎飛機飛行,并通過這樣的方式為他的習慣付賬:為各種難題尋找優(yōu)雅的解決方案,提供諸多領(lǐng)域里的咨詢服務(wù)——航空、銀行、金融服務(wù)、電信、交通運輸及Internet。 在于1994年移居美國前,Dave在英國創(chuàng)立了一家通過ISO9001認證的軟件公司,為世界各地的客戶開發(fā)成熟、定制的軟件項目。Dave現(xiàn)在是一位獨立顧問,居住在德克薩斯州的達拉斯。 以The Pragmatic Programmer,L.L.C的名義,Dave與Andy正在協(xié)同工作,把合起來超過四十年的專業(yè)經(jīng)驗帶給美國各地的客戶。譯者簡介:馬維達,《C++網(wǎng)絡(luò)編程(卷2)》與《ACE自適配通信環(huán)境技術(shù)文檔》的譯者,技術(shù)興趣為C++網(wǎng)絡(luò)編程(ACE)與分布式對象計算(Internet Communications Engine)

書籍目錄

前言

第1章 注重實效的哲學(xué)
1 我的源碼讓貓給吃了
2 軟件的熵
3 石頭湯與煮青蛙
4 足夠好的軟件
5 你的知識資產(chǎn)
6 交流
第2章 注重實效的途徑
7 重復(fù)的危害
8 正交性
9 可撤消性
10 曳光彈
11 原型與便箋
12 領(lǐng)域語言
13 估算
第3章 基本工具
14 純文本的威力
15 shell游戲
16 強力編輯
17 源碼控制
18 調(diào)試
19 文本操縱
20 代碼生成器
第4章 注重實效的偏執(zhí)
21 按合約設(shè)計
22 死程序不說謊
23 斷言式編程
24 何時使用異常
25 怎樣配平資源
第5章 彎曲,或折斷
26 解耦與得墨忒耳法則
27 元程序設(shè)計
28 時間耦合
29 它只是視圖
30 黑板
第6章 當你編碼時
31 靠巧合編程
32 算法速率
33 重構(gòu)
34 易于測試的代碼
35 邪惡的向?qū)?br />第7章 在項目開始之前
36 需求之坑
37 解開不可能解開的謎題
38 等你準備好
39 規(guī)范陷阱
40 圓圈與箭頭
第8章 注重實效的項目
41 注重實效的團隊
42 無處不在的自動化
43 無情的測試
44 全都是寫
45 極大的期望
46 傲慢與偏見
附錄A 資源
專業(yè)協(xié)會
建設(shè)藏書庫
Internet資源
參考文獻
附錄B 練習解答
索引
注重實效的程序員之快速參考指南

章節(jié)摘錄

依據(jù)你的職業(yè)發(fā)展、你的項目和你每天的工作,為你自己和你的行為負責這樣一種觀念,是注重實效的哲學(xué)的一塊基石。注重實效的程序員對他或她自己的職業(yè)生涯負責,并且不害怕承認無知或錯誤。這肯定并非是編程最令人愉悅的方面,但它肯定會發(fā)生——即使是在最好的項目中。盡管有徹底的測試、良好的文檔以及足夠的自動化,事情還是會出錯。交付晚了,出現(xiàn)了未曾預(yù)見到的技術(shù)問題。發(fā)生這樣的事情,我們要設(shè)法盡可能職業(yè)地處理它們。這意味著誠實和坦率。我們可以為我們的能力自豪,但對于我們的缺點——還有我們的無知和我們的錯誤——我們必須誠實。責任是你主動擔負的東西。你承諾確保某件事情正確完成,但你不一定能直接控制事情的每一個方面。除了盡你所能以外,你必須分析風險是否超出了你的控制。對于不可能做到的事情或是風險太大的事情,你有權(quán)不去為之負責。你必須基于你自己的道德準則和判斷來做出決定。如果你確實同意要為某個結(jié)果負責,你就應(yīng)切實負起責任。當你犯錯誤(就如同我們所有人都會犯錯誤一樣)、或是判斷失誤時,誠實地承認它,并設(shè)法給出各種選擇。不要責備別人或別的東西,或是拼湊借口。不要把所有問題都歸咎于供應(yīng)商、編程語言、管理部門、或是你的同事。也許他(它)們?nèi)w或是某幾方在其中扮演了某種角色,但你可以選擇提供解決方案,而非尋找借口。如果存在供應(yīng)商不能按時供貨的風險,你應(yīng)該預(yù)先制定一份應(yīng)急計劃。如果磁盤垮了——帶走了你的所有源碼一而你沒有做備份,那是你的錯。告訴你的老板“我的源碼讓貓給吃了”也無法改變這一點。

媒體關(guān)注與評論

“如果我在管理一個項目,這本書的作者就是我想要的人……如果辦不到,我就會要讀過他們的書的人?!薄  猈ard Cunningham

編輯推薦

《程序員修煉之道:從小工到專家》:傳承大師智慧 領(lǐng)悟技術(shù)本真經(jīng)典名著 翻譯良品 典藏不二之選

名人推薦

領(lǐng)悟程序員的哲學(xué)在大學(xué)的時候,編程是我的興趣,也是當時我給自己定位的職業(yè)方向。當我在圖書館看到這本《程序員修煉之道》的時候,直覺告訴我應(yīng)該看看這本書,或許對我的成長有幫助。讀完之后更加肯定了自己的直覺是對的。當時我雖然沒有實際項目的開發(fā)經(jīng)驗,不能一時領(lǐng)悟其意,但我明白,這本書中總結(jié)的原則和方法對我來說是極為寶貴的,于是買了一本放在床頭。參加工作后,隨著編程經(jīng)驗的積累,我越來越能體會到這本書中的觀點。每次重讀書中的章節(jié),我都會有新的收獲;再結(jié)合自己的每次經(jīng)歷,都能與之共鳴——這是對我影響最深的一本書,也是我向朋友和同事推薦次數(shù)最多的一本書。有趣的是,書前Kevin Ruland的評論說:這是我唯一不會出借的一本書。究竟是一本什么樣的書會讓大師如此愛不釋手?這本書所涉及的內(nèi)容很廣,涵蓋了程序員成長過程中和軟件開發(fā)過程中要注意的地方。從程序員的個體哲學(xué)到編碼過程中的各個環(huán)節(jié),再到團隊的項目管理;從程序員要如何擴充知識,如何思考問題,如何利用有效的工具打造個人的工作環(huán)境,到項目啟動之前如何建立一些基本準則,如何分析、設(shè)計、編寫、測試、重構(gòu),如何實現(xiàn)自動化,甚至是項目團隊中提高實效的原則。書中的內(nèi)容全都來自經(jīng)驗的總結(jié),倡導(dǎo)編程中正確的觀念和良好的習慣,而這正是優(yōu)秀的程序員必須擁有的良好素質(zhì)。書中講述的原則源于實踐,高于實踐,它們蘊涵著前輩們的智慧。隨著知識的擴展、編程體驗的增加,對這本書中的內(nèi)容的理解也會愈加深刻。反過來,對前輩菁華的吸收,有助于我們提高編程水平,開發(fā)出更好的產(chǎn)品。我深信這不是一本只要讀一遍的書。這些原則看似簡單,但細細品味一番,卻是大哲大道,環(huán)環(huán)相扣,要理解透徹并不容易。例如,提示44告訴我們“不要靠巧合編程”,這道理看起來好像很簡單,但我發(fā)現(xiàn)實際工作中還是很容易就犯這個錯的。細想一下Bug列表中的問題,其中大多數(shù)問題不正是由于作了不正確的假設(shè),或者是想當然造成的嗎?要是一開始就有了深思熟慮,經(jīng)過了合理的設(shè)計,完整有效地進行了測試,應(yīng)該大部分都可以避免吧。而思考、設(shè)計、測試又緊扣書中其他章節(jié)。曾經(jīng)和朋友討論關(guān)于員工培訓(xùn)的事。如果給程序員做培訓(xùn),我首選的材料就是這本《程序員修煉之道》。?LAMP程序員 趙鐘秋(belltoy)http://blog.belltoy.net/

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    程序員修煉之道 PDF格式下載


用戶評論 (總計169條)

 
 

  •   本書主要針對系統(tǒng)程序員,特別是Unix/Linux系統(tǒng)程序員的如何發(fā)展。一般來說,在類UNIX系統(tǒng)上編程,通常都有某種廣為流傳的規(guī)范,類似于某種編程哲學(xué)。這本書從很多細節(jié)上闡述了這種哲學(xué)。雖然這種思想與編程語言無關(guān),不過作者似乎更偏愛C語言。其它語言的程序員似乎不一定會認同這樣的哲學(xué),包括薄的膠合層、自底向上的設(shè)計理念、使用Vi,Emacs編輯器、使用shell、使用組合命令工具等等。這種思想在Unix編程藝術(shù)一書中都有闡述,但這本書是在一步一步指引,把一個系統(tǒng)編程的小工培養(yǎng)成專家。對于非UNIX的系統(tǒng)程序員不一定十分合適。
  •   《程序員修煉之道——從小工到專家》這本書,你決不能從人家那里借來看,除非可以不還。在你未認真讀完的情況下,決不要借給別人看。認真是指要都看懂,最好在書上做些評注。當然,易讀性和道理的攝人震撼性是本書引人入勝的地方。老板的推薦讀物,看來是要第一時間引起重視的。不是做程序的則無須看。
  •   程序員修煉之道:從小工到專家,不錯,經(jīng)典 !講的道理容易明白,但還是要在平時工作時多用 。
  •   程序員修煉之道——從小工到專家 值得每一個程序員看
  •   程序員修煉之道——從小工到專家bucuo
  •   如果你想從事軟件開發(fā)的行業(yè)的話,這本書還是能夠幫到你的。因為我覺得這本書給了我提升自我的一些知識,基本上,這本書和《高效程序員的45個習慣》現(xiàn)在已經(jīng)成為了我的床頭書了。
  •   第一次在當當買書,很給力!
    程序員修煉之道 這本書自不必多說,好書!書肯定是正版的,印刷也很給力,不過還沒有讀完,哈哈,總之是一本好書
  •   這本書分不同層級介紹程序員的修煉過程和方法,找找自己的定位,試著朝下一個目標前進吧
  •   這本書適合將要走上程序員崗位的人閱讀,從中能獲得不少工作上的啟發(fā)!
  •   適合初級和中級的程序員閱讀,會讓人對某些問題豁然開朗
  •   富有創(chuàng)作力和感染力的一本書,作為一個程序員,值得擁有它!
  •   本人是初入職場的小小程序員,雖然還沒有看完這本書,但是從看的前幾章中感覺收益匪淺。
  •   非常實用,值得每個程序員閱讀。
  •   適合處于迷茫期的程序員讀一下
  •   內(nèi)容不錯。從哲學(xué)談起,講述一個優(yōu)秀的程序員是怎樣練成的。
  •   正如書中很多人推薦的那樣,這本書對于程序員而言是必備書籍,你一定會在其中學(xué)到很多東西!
  •   對程序員的成長很有幫助
  •   提高程序員的素質(zhì)
  •   是程序員都要買的一本書
  •   正如譯序所言,這本書是進階程序員的忠告。
  •   。。這本書,
    。。應(yīng)該是一個程序員必備的,
    。。很好,
    。。可讀性很強,
  •   我一直在徘徊怎么做一個好的程序員,這本書告訴我了!
  •   不愧是程序員必讀書目,看完之后豁然開朗。
  •   還沒讀,爭取做一個好的程序員
  •   不用多說,程序員必備
  •   很多哲理 很多方法 是程序員進步的指南
  •   這是本程序員必看之書!
  •   程序員的經(jīng)典藏書
  •   程序員必備的,最好是初學(xué)的時候一定要看
  •   真的很不錯 值得多看兩遍 不管是程序員還是leader
  •   每一個程序員都應(yīng)該看看
  •   要是引起共鳴了,就說明進步了:)
    另外也讀過其他幾本馬維達譯的書,質(zhì)量都是不錯的。
  •   敏捷編程已是盡人皆知的今天,這本書的大名,連同Thomas一樣!
  •   不過個人感覺,有一定項目經(jīng)驗看之后,效果才好
  •   正在糾結(jié)項目需求時買的,看完后 平靜了很多。不錯的一本書
  •   我很少看專業(yè)書,覺得實踐中學(xué)習才是王道。從石頭湯開始就發(fā)現(xiàn)自己的問題好像和高手真的很有差距。在往下讀,發(fā)現(xiàn)自己真是淺薄,很多東西根本就是頭一回聽到,所以看起來說實話挺費勁的,不過還是硬著頭皮模模糊糊的看完了,現(xiàn)在可以說自己是個小工了。決定再看一遍。
  •   本人剛踏入軟件行業(yè),本以為書中的內(nèi)容會苦澀難懂,但是讀了幾天,感悟頗多。書中內(nèi)容字字經(jīng)典,小小的例子就能把道理講透徹,不愧是傳世經(jīng)典。
  •   在編寫了大量的基礎(chǔ)代碼之后對軟件開發(fā)有所經(jīng)歷之后,這本書是提升你的眼界的必由之路當然,該書也將養(yǎng)成你的良好習慣
  •   確實是一本好書,里面有很多作者的真知灼見以及一些非常實用的經(jīng)驗,而且作者的文風不錯,讀起來比較輕松!特別適合有一定經(jīng)驗的工程師!推薦!
  •   書的內(nèi)容更多是教你怎樣去思考問題,怎樣去解決問題,而不是簡單的教給大家一些案例,通過案例告訴大家遇到一個不知道該怎么著手的問題如何通過一步步的分析解決掉!很值得一看!
  •   就是一些經(jīng)驗之道,很受啟發(fā)。
  •   IT行業(yè),修煉之道。
  •   內(nèi)容通過實例講解一些基本編程設(shè)計到的道理!
  •   現(xiàn)在還是個學(xué)生,但對計算機方面比較感興趣,希望通過此書對編程有更深層次的了解
  •   我還沒開始修煉,男朋友開始了,他說很好。等他看完我再修煉。。
  •   軟件工程師票選第二名的書, 一定要拜讀
  •   還沒有看太多,只是前言和書中的書評就感覺不錯了,技術(shù)的東西需要時間一點點來!
  •   從小工到專家。。。。。。。。。。。。
  •   修煉不是一朝一夕啊
  •   學(xué)習吧 修煉吧
  •   有收獲,慢慢修煉
  •   很經(jīng)典,沒廢話,需要有實踐經(jīng)驗
  •   對編程思想方面的轉(zhuǎn)變有很大影響。是一本非常好的書籍
  •   實踐經(jīng)驗還不足,不能很好地領(lǐng)會書中所言,但亦有不小收獲。
  •   適合每個寫代碼的人看
  •   很好的書,很大程度上超過了《代碼大全》
  •   很經(jīng)典的一本書,里邊都是些經(jīng)過檢驗的經(jīng)驗之談,值得細細讀一下,在工作中可以加以印證
  •   練技術(shù),修心
  •   昨晚了解了一下內(nèi)容,很不錯。除了一些理念的東西,還有不少技能上的,我很喜歡。
  •   書非常棒,有人說這本書在一定意義上超越了《代碼大全》,這一點都不為過,書拿到手后就讓人愛不釋手,作者在文中提到的提示每一個都讓人感同身受!
  •   教授你的編程思想,提升自己的思維
  •   編程思想最重要了
  •   很大程度上提升了編程水平和高質(zhì)量的思維意識
  •   感覺不錯,編程,重要的是思想!
  •   提升編程的思想,不錯
  •   需要用心去悟,有些經(jīng)驗需要經(jīng)歷了才能體會。
  •   在沒有看之前,已經(jīng)看過電子版了,內(nèi)容絕對是不錯的,現(xiàn)在買回了紙質(zhì)的書了,放在書桌上,以后想看的時候就隨便看了
  •   太經(jīng)典的書里,我是一個剛工作的人,看來之后很有啟發(fā)啊。對以后寫程序大有幫助
  •   寫序的都說好,哈哈!真的,有一篇序言寫得很好,一方面內(nèi)容很有價值,另一方面那篇序言放在那本書前書前都可以,有點懷疑作者是否真的讀過。在這個炒作的年代,連作序都不放過。貌似說還是要多讀多練!
  •   此書是同學(xué)介紹給我的,看了后感覺想到更多以前從沒想過的問題,雖然還有很多看不懂(我們還有很多沒學(xué)到的),但是我肯定以后再看這本書收獲一定很大。
  •   都說好,我初步看了看還不錯,看來閑暇的時間又可以利用了
  •   內(nèi)容實在,全面、詳細。是本值得反復(fù)、仔細閱讀的書。
  •   很有用,經(jīng)驗越深,感悟越深
  •   電子版的讀了一點,不錯,太累眼,所以就買了本書,做人做事就應(yīng)該常思考呀
  •   讀了下,感覺內(nèi)容不錯,推薦閱讀
  •   不錯的書籍,適合入手。
  •   適合廁所床上看
    想C++散文似的,收獲很大
  •   適合每個coder去細讀的書,已經(jīng)讀完一遍,回頭慢慢的消化回顧。獲取良多
  •   紙張和內(nèi)容都很不錯。 超喜歡!
  •   書講的比較系統(tǒng),有很多經(jīng)驗之談,但是每一部分比較籠統(tǒng),沒有太深入的內(nèi)容。比如基本工具這一章,都是泛泛而談,并沒有詳細介紹和深入探討。
  •   收到這本書遲了些,但是看了一眼就很想看完,發(fā)現(xiàn)自己需要學(xué)習的東西還好多。。。
  •   高手推薦的書,正在看ing
  •   正在慢點體會ing。
  •   經(jīng)典叢書,值得閱讀
  •   給老婆買的,東西不錯,老婆很喜歡。
  •   書不錯,很喜歡,沒仔細讀,看起來很不錯
  •   很喜歡里面的名言、、
  •   送給老弟的書,他很喜歡。。。
  •   現(xiàn)在僅僅看過了前言,感覺還不錯,會認真去看的。
  •   現(xiàn)在開始不知道做啥。大學(xué)學(xué)的有點莫名其妙,看著還不錯
  •   我一直想看看,總是因為某些事情而耽擱,現(xiàn)在終于買了一本了,好書
  •   內(nèi)容很貼切,對提高能力作用顯著。
  •   書質(zhì)量一般般額。。。還有兩頁結(jié)在一起的額
  •   看了開頭,不啰嗦,從故事角度入手,引人思考
  •   從圖書館看到的,一看發(fā)現(xiàn)很值得再看的書,于是就買回來看了。
  •   還行吧 看評論說挺好的 以后再看啦~~
  •   這本書的名字翻譯的有傻 內(nèi)容還是不錯的
  •   對于作者以及講述的內(nèi)容還是很好奇的.希望能夠從中獲益.
  •   體會自己的成長之路
  •   逐步成長之路
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7