卓有成效的程序員

出版時間:2009-3  出版社:機械工業(yè)出版社  作者:Neal Ford  頁數(shù):216  譯者:ThoughtWorks公司(中國)  
Tag標(biāo)簽:無  

前言

譯者序消除浪費,始于細節(jié)在一次關(guān)于敏捷的討論中,我說了一句令很多人不解的話:我不要敏捷。和很多話一樣,斷章取義的理解很容易造成誤會。我當(dāng)時說的整句話是:我不要敏捷,我要致力于消除軟件開發(fā)中的一切浪費。當(dāng)“敏捷”漸漸變成一個人見人愛的“大詞”,越來越多的人開始發(fā)現(xiàn),其實自己要的不是“be agile”,而是切實地消除浪費、提高效率。所以,作為ThoughtWorks員工的Neal Ford在他的這本書里閉口不談“敏捷”。

內(nèi)容概要

本書講述如何在開發(fā)軟件的過程中變得更加高效。同時,本書的講述將會跨語言和操作系統(tǒng):很多技巧的講述都會伴隨多種程序語言的例子,并且會跨越三種主要的操作系統(tǒng),Windows(多個版本),Mac OS X以及 *-nix(Unix或者Linux)。    本書討論的是程序員個體的生產(chǎn)力,而不是團隊的生產(chǎn)力問題,所以它不會涉及方法論(好吧,可能總會在這里或那里談?wù)摰揭恍?,但肯定不會深入討論)。同時,本書也不會討論生產(chǎn)力對整個團隊的影響。我的使命,是讓作為個體的程序員通過掌握恰當(dāng)?shù)墓ぞ吆退枷胱兊酶痈咝А?/pre>

作者簡介

Neal Ford是ThoughtWorks的軟件架構(gòu)師。他曾在美國和其他國家進行現(xiàn)場授課,客戶包括軍方和很多《財富》500強的企業(yè)。

書籍目錄

譯者序序前言第1章 簡介  為什么要寫一本關(guān)于程序員生產(chǎn)力的書?  本書包含哪些內(nèi)容?  如何讀此書? 第一部分 機制 第2章 加速  啟動面板   加速器   宏   小結(jié)  第3章 專注   排除干擾   搜索優(yōu)于導(dǎo)航   找出難找的目標(biāo)   使用有根視圖   設(shè)好“粘性屬性”   使用基于項目的快捷方式   使用多顯示器   用虛擬桌面拆分工作空間   小結(jié)  第4章 自動化   不要重新發(fā)明輪子   建立本地緩存   自動訪問網(wǎng)站  與RSS源交互  在構(gòu)建之外使用Ant  用Rake執(zhí)行常見任務(wù)   用Selenium瀏覽網(wǎng)頁  用bash統(tǒng)計異常數(shù)  用Windows Power Shell替代批處理文件  用Mac OS X的Automator來刪除過時的下載文件  馴服Subversion命令行  用Ruby編寫SQL拆分工具  我應(yīng)該把它自動化嗎?  別給牦牛剪毛  小結(jié) 第5章 規(guī)范性   DRY 版本控制   使用標(biāo)準(zhǔn)的構(gòu)建服務(wù)器   間接機制   利用虛擬平臺  DRY 阻抗失配   DRY 文檔   小結(jié) 第二部分 實踐 第6章 測試驅(qū)動設(shè)計   不斷演化的測試   代碼覆蓋率  第7章 靜態(tài)分析   字節(jié)碼分析    源碼分析   用 Panopticode生成統(tǒng)計數(shù)據(jù)  動態(tài)語言的分析 第8章 當(dāng)個好公民   破壞封裝   構(gòu)造函數(shù)  靜態(tài)方法  犯罪行為 第9章 YAGNI 第10章 古代哲人  亞里斯多德的“事物的本質(zhì)和附屬性質(zhì)”理論  奧卡姆剃刀原理  笛米特法則  “古老的”軟件學(xué)說 第11章 質(zhì)疑權(quán)威   憤怒的猴子   連貫接口   反目標(biāo)(Anti-Objects)  第12章 元編程   Java和反射   用Groovy測試Java   編寫連貫接口   元編程的歸處  第13章 組合方法和SLAP  組合方法實踐   SLAP  第14章 多語言編程   歷史與現(xiàn)狀   路在何方?   Ola的金字塔  第15章 尋找完美工具   尋找完美編輯器   編輯器參考列表   為你的工作選擇正確的工具   丟棄錯誤的工具  第16章 尾聲:繼續(xù)對話附錄 Building Blocks

章節(jié)摘錄

奧卡姆剃刀原理奧卡姆 的威廉爵士是一個厭惡華美裝飾以及復(fù)雜解釋的修士。他對哲學(xué)和科學(xué)的貢獻是奧卡姆剃刀原理:如果對于一個現(xiàn)象有好幾種解釋,那么最簡單的解釋往往是最正確的。顯然,這跟我們討論的事物本質(zhì)和附屬性質(zhì)理論緊密關(guān)聯(lián)。這個原理對于軟件的影響度也是出乎我們意料的。作為軟件工業(yè)中的一員,過去十年我們一直在進行著某項實驗。這個實驗始于上世紀(jì)90年代中期,主要是由于開發(fā)人員發(fā)現(xiàn)其開發(fā)進度遠遠跟不上軟件需求的增長而引發(fā)的(其實在那時這已經(jīng)不是一個新問題,這個問題自商業(yè)軟件的想法出現(xiàn)之后就一直存在)。實驗的目的是:創(chuàng)造一些工具和環(huán)境來提高那些普通開發(fā)人員的生產(chǎn)率,即使一些人比如Fred Brooks(去看他的《人月神話》)已經(jīng)告訴我們軟件開發(fā)中的一些混亂事實。此實驗試圖驗證:我們是否可以創(chuàng)造一種能限制程序員破壞力的語言而使人擺脫麻煩;我們是否可以無需支付荒唐的大量金錢給那些令人生厭的軟件技工(即使在那時候你可能還為找不到足夠的軟件技工而發(fā)愁),而同樣生產(chǎn)出軟件呢?這些思考讓我們創(chuàng)造出了如dBase, PowerBuilder, Clipper和Access這樣的工具,并促成了工具和語言相結(jié)合的4GL(第四代語言)的崛起,比如FoxPro和Access。但問題是,即使有這樣的工具和環(huán)境你也不能完成所有的工作。我同事Terry Dietzler為Access創(chuàng)建了一個叫做"80-10-10"的準(zhǔn)則(而我喜歡把它稱之為Dietzler定律)。這個定律說的是:80%的客戶需求可以很快完成;下一個10%需要花很大的努力才能完成;而最后的10%卻幾乎是不可能完成的,因為你不能把所有的工具和框架都"招致麾下"。而用戶卻希望能滿足一切需求,所以作為通用目的語言的4GL(Visual BASIC、Java、Delphi以及C#)應(yīng)運而生。Java和C#的出現(xiàn)主要是由于C++的復(fù)雜性和易錯性,語言開發(fā)者們?yōu)榱俗屢话愠绦騿T擺脫這些麻煩而在其內(nèi)建了一些相當(dāng)嚴(yán)格的限制。在此之后"80-10-10準(zhǔn)則"才發(fā)生了改變,無法完成的工作已經(jīng)微乎其微。這些語言都是通用目的語言,只要付出足夠的努力,大多數(shù)工作都可以完成。但Java雖然比較易用卻常常需要大量編碼,所以框架出現(xiàn)了,Aspects出現(xiàn)了,大量其它框架蜂擁而至。下面有一個例子。這段Java代碼是從一個廣泛使用的開源框架中提取出來的,試著找出它的用途吧(關(guān)于它的名字我只會提示你一點點):public static boolean xxXxxxx(String str) {int strLen;if (str == null || (strLen = str.length()) == 0) {return true;}for (int i = 0; i < strLen; i++) {if ((Character.isWhitespace(str.charAt(i)) == false)) {return false;}}return true;} 花了多少時間?這實際上是一個從Jakarta Commons框架(它提供了一些或許本該內(nèi)置于Java的幫助類和方法)中提取出來的isBlank方法。一個字符串是否為"空白"由兩個條件決定:這個字符串是空字符串,或者它只由空格組成。這段代碼的計算公式非常復(fù)雜,因為要考慮參數(shù)是null的情況,而且還要迭代所有的字符。當(dāng)然,你還要把字符包裝成Character類型以確定它是否空白字符(空格、制表符、換行符等)??傊?,太麻煩了!

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

對于程序員,過去我們一直習(xí)慣于用單純的技術(shù)水平,也就是實現(xiàn)程序功能的能力來衡量。然而這個時代其實已經(jīng)過去了。雖然技術(shù)仍然很重要,但企業(yè)越來越多地認識到,對于程序員更全面的衡量標(biāo)準(zhǔn),應(yīng)當(dāng)是生產(chǎn)率。只有能夠以較高的效率完成對項目、對企業(yè)有價值的工作,才是團隊和組織所真正需要的人才。反之,技術(shù)好,但不能真正促進整體價值,甚至其反作用,這樣的“技術(shù)牛人”已經(jīng)沒有生存空間了。 —— 孟巖 《程序員》雜志總編&ldq

編輯推薦

《卓有成效的程序員》是一本揭示高效程序員的思考模式,一本告訴你如何縮短你與優(yōu)秀程序員的差距。以下媒體、專家、社區(qū)聯(lián)合推薦:媒體:《程序員》雜志、《電腦編程技巧與維護》雜志專家:韓磊、孟巖、馮大輝、李劍、黃晶、溫昱、周愛民

名人推薦

《卓有成效的程序員》這本書,個人覺得單獨針對“程序員”可能還有點窄,其實《卓有成效的程序員》的大部分內(nèi)容對所有技術(shù)人員也是適用的。但愿看了《卓有成效的程序員》之后,能有更多的技術(shù)人員真正的行動起來,利用這本書提升自己,也去積極影響他人,形成更良性的互動,不要讓“持續(xù)改進”成為一句空話。另外,必須要補充的是,如果技術(shù)人員持續(xù)從事低效率的工作,極有可能逐漸厭煩技術(shù),疏遠技術(shù),乃至對技術(shù)絕望,而一個高效的技術(shù)人才能從技術(shù)中獲得真正的快樂。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    卓有成效的程序員 PDF格式下載


用戶評論 (總計65條)

 
 

  •   雖然由于換了工作,已經(jīng)很久不寫程序了,但依然覺得這是一本非常有用的好書。雖然并不厚,我是在一天內(nèi)讀完的,但內(nèi)容非常豐富,作者的思路非常清晰,翻譯得也很流暢。感覺其中的許多建議,不僅對程序員,對其他需要經(jīng)常操作電腦的人提升效率,都是十分有幫助的。比如盡量多用鍵盤,少用鼠標(biāo),記住常用的快捷鍵,選擇最合適的工具等。當(dāng)然,最重要的是思想。無論是加速法則,專注法則,規(guī)范法則,可以說都是放之四海而皆準(zhǔn)的道理,可以說已經(jīng)上升到哲學(xué)的高度上了。這樣的好書看一遍肯定是不夠的,我還會經(jīng)常翻看這本書,希望能盡量把其中能用到的部分應(yīng)用在自己的工作和生活中。最近讀了不少書,真正體會到了什么叫“開卷有益”。當(dāng)然,要抱著學(xué)習(xí)的態(tài)度,虛心的態(tài)度,而不是挑毛病的態(tài)度,呵呵。
  •   老外比較擅于總結(jié),這本書的前半部“機制”主要是介紹一些工具,如Windows或Linux下一些幫助日常工作的小工具和方法。后段部“實踐”,介紹的是軟件開發(fā)的有效方法與思維方式。此書的內(nèi)容來源于實踐,因此比較有說服力。值得一讀。
  •   這本書并不是小技巧、方法的總結(jié),他最大的貢獻是總結(jié)了幾個原則。以及圍繞這些原則展開的討論。很多話題都是非常有趣的。工廠里是用機器生產(chǎn),而程序員則是一種特殊的機器,對這種機器的探討應(yīng)該是剛開始。以后還應(yīng)該有更多的探討。
  •   卓有成效的程序員,讓你變得不一樣。
  •   thoughts works的書每次都不會讓我失望,相信這本書能有效的提高程序員的生產(chǎn)效率。但是我不得不說:機械工業(yè)出版社書籍紙張的質(zhì)量真的不怎么樣!廁紙風(fēng)格 , 可惜了這么好的內(nèi)容 唉。。。。
  •   對于怎么提高程序員的效率,作者確實給出了很多實現(xiàn)的途徑,要將那些方法變成習(xí)慣談何容易,呵呵
  •   知道程序員應(yīng)該具備的素質(zhì),和效率 是每個程序員都值得學(xué)習(xí)的
  •   經(jīng)典,程序員必看書籍。
  •   指導(dǎo)都很明確具體,拿來認真的堅持執(zhí)行一定對日常工作學(xué)習(xí)有益處。無論水平高低看看都不錯,除了直接可用的技術(shù),經(jīng)驗以外,也會從書中體會這種積極吸收和創(chuàng)造提高個人水平的思想
  •   一直關(guān)注的一本書,一來北京就趕緊買了,最近工作有點忙,所以只粗看了大概一半,不過已經(jīng)感覺沒有白買了,不少點很實用,確實能提高效率,不過該書面向范圍教廣,所以具體效應(yīng)因人而異了,不過如果你是個多面手的話,相信這本書一定會讓你滿意的
  •   很有啟發(fā),特別是前面部分。不僅是IT從業(yè)人,對任何需要用電腦辦公的人都有用。
  •   看了以有的評論都不怎么樣。個人認為這本書很不錯。我看過了前兩章,感覺很好。
  •   非常好的書,建議各個值得膜拜
  •   看推薦說的很好,但實際拿到手后,覺得言過其實。
    或許是自己的境界還不到,等過段時間再讀一讀。
  •   告別無聊的“copy”,“paste”,盡力讓程序去實現(xiàn),省下時間去做更有意義的事情
  •   喜歡這樣的文章,能讓人在某個特定的時間段沉淀一些東西
  •   正在學(xué)習(xí)中,o`reilly出的書就是不一樣,看了一部分了,里邊沒有實際的技術(shù)指導(dǎo),但是給我們了很多心得體會
  •   只有看過之后才會知道,所有的細節(jié)積累起來的威力有多大。。
  •   一本好書,值得推薦。
    很多技巧很有幫助。
  •   了解一些平常不算了解的東西,只是看看。
  •   實用的書,指導(dǎo)性的書
  •   正在閱讀,很不錯的書 快遞也很快
  •   都是如何高效操作計算機的經(jīng)驗之談,很受用,這也許是我之前知道的太少吧!書里面涉及Windows、Mac和*nix的小技巧,還有.Net,Java,Ruby,Groovy,讓我很想試試Mac、學(xué)學(xué)Ruby,呵呵,有機會一定體會一下!
  •   本書由兩部分組成:1.介紹了Windows平臺和Mac平臺上,一些常用軟件的快捷方式的使用技巧,硬件上的指導(dǎo);2.介紹了一些開發(fā)上的要注意,要規(guī)避的地方,值得花時間閱讀。
  •   講了好多程序員日常工作提升效率的方法和細節(jié),比較有新意,看了有所收獲。注意細節(jié)才能**
  •   總體來說屬于經(jīng)驗歷程的總結(jié),有啟示,提醒和警示作用。適合對程序入門后還沒有達到中等水平的半吊子。
  •   主要是介紹思想。
  •   內(nèi)容很好,對讀者比較有幫助!!
  •   對提高效率還是很有幫助的。
  •   書不錯,紙張有點差。勉強給4
  •   同時推薦的,不錯的書
  •   內(nèi)容倒是比較特別,但是書有點薄,而且很多實用性不是很高
  •   聽說很值得一看,趕緊買來cc
  •   更多的是一個技巧經(jīng)驗總結(jié),理論層面的東西沒有什么新意,基本是出自經(jīng)典書籍。適合對剛?cè)胄械幕蛘?,2年的新手看看(其中還有些還需公司層面制度的配合)。對于一個資深的(工作了5年以上)工程師,幫助不太大(最大的幫助時是了解一些不錯的開源軟件,協(xié)助一下日常工作),快速過一遍即可(直接在書店蹲上幾個小時就可以搞定)。
  •   程序員也不建議看
  •   這本書很適合有Java編程經(jīng)驗的人看,但是其中很多思想是貫通的
  •   是作者的經(jīng)驗總結(jié),但覺得這些光看是不行的,絕知此事要躬行啊!
  •   實際操作不是很簡單但思想是好的
  •   書本內(nèi)容太少,沒有比較深入的東西。
  •   實用性只有20%
  •   紙質(zhì)不好,第一版的印刷質(zhì)量一般.
  •   自我感覺用處不大
  •   差勁極了,沒用處,浪費錢
  •   紙張好差,像盜版,特失望
  •   可能是之前對這本書期望太高,總之看完比較失望。工具基本講的是osx和winxp中使用的。 win7基本不適用。語音基本講的是java和ruby。 cxxer感覺不太適用。p154那個伽利略的例子反駁‘邏輯思科比實驗更有價值’,而在維基百科上有‘伽利略在1636年的《兩種新科學(xué)的對話》中寫道:如果依照亞里士多德的理論,假設(shè)有兩塊石頭,大的重量為8,小的為4,則大的下落速度為8,小的下落速度為4,當(dāng)兩塊石頭被綁在一起的時候,下落快的會因為慢的而被拖慢。所以整個體系和下落速度在4-8之間。但是,兩塊綁在一起的石頭的整體重量為12,下落速度也就應(yīng)該大于8,這就陷入了一個自相矛盾的境界?!詴械挠^點是站不住腳的。現(xiàn)在看來所謂提高生產(chǎn)效率的書基本都不用看,《程序員修煉之道》除外。本書大部分原則基本在《程序員修煉之道》都有。
  •   書里面不少工具類的介紹已經(jīng)old了
  •   愛不釋手!真的是愛不釋手我不知道已經(jīng)讀過多少遍了,每次隨手拿起隨便翻到一頁就讀一會作者分享了自己寶貴的從工作中總結(jié)出來的經(jīng)驗,這是一般的計算機類圖書所欠缺的太棒了?。?!
  •   這是一本非常實用的書,軟件行業(yè)很少能看了就馬上派上用場的書,這是一本。本書第一部分介紹了很多能能極大提高工作效率的軟件,比如Launchy,Desktops等,我看完以后就立即運用在實際工作中了,特別是Launchy,真是極大的提高了工作效率,唯一遺憾的就是Launchy不支持多桌面。第二部分也很不錯,介紹了很多工作上能用到的方法,就算用不到也能開闊視野,傳達了頂級程序員對這個行業(yè)的觀察點。唯一遺憾的地方就是太貴了,紙張?zhí)?,實在和價錢非常不匹配。不過無論如何來說,都是值得一看,如果能借來看更好啦!
  •   很不錯的書,從思維上還介紹如何思考。而不是說幾個例子,照著做那種!
  •   書不厚,能學(xué)到一些實用的技能
  •   一些簡單而又實用、細膩的規(guī)則,讓人受益良多。最深刻的是"歐姆龍?zhí)甑对?#34;和 "對象的主要次要屬性"(有點像矛盾論~~)
  •   喜歡其中能提高工作效率的內(nèi)容
  •   書的紙張非常差,用的是再生紙,內(nèi)容也是不知所云
  •   東西不錯,可惜不是我想象的那種內(nèi)容
  •   還可以吧 我要求不高 只要能學(xué)習(xí)其中的思路就行 就沖這點了
  •   質(zhì)量很次,書有折角!紙質(zhì)也不好!
  •   前面的軟件介紹以及后面的一些思想,哪怕是非程序員也一樣受用~
  •   研究提高效率的方法顯然比延長工作時間更讓人興奮,這本挺薄的書不僅給你介紹了一些具體的工具來優(yōu)化你的日常操作,讓程序員真正成為最懂計算機的人,更重要的是提供了一種持續(xù)改進工作效率的思路,讓人忽然發(fā)現(xiàn),在很平常的操作中,其實也能提煉出很“懶人”的高效手段來,這是此書最好的地方。雖然只看到第二部分專注法則的前部分,已經(jīng)感覺值得擁有。
  •   買了就后悔,還以為有多少程序的東西。工具這東西是會過時的...真想買最好到有這書的書店翻翻再做決定吧。
  •   封皮是神秘的麥田圈
  •   好書,知易行難
  •   卓有成效的程序員
  •   多讀一本算一本
  •   都是些小技巧
  •   難得一見的譯著雙磬的佳作
 

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

京ICP備13047387號-7