本書是編程大師“Bob 大叔”40余年編程生涯的心得體會的總結,講解要成為真正專業的程序員需要具備什么樣的態度,需要遵循什么樣的原則,需要采取什么樣的行動。作者以自己以及身邊的同事走過的彎路、犯過的錯誤為例,意在為后來者引路,助其職業生涯邁上更高臺階。
1. 匯聚編程大師40余年編程生涯的心得體會 2. 闡釋軟件工藝中的原理、技術、工具和實踐 3. 助力專業軟件開發人員具備令人敬佩的職業素養 成功的程序員在以往的工作和生活中都曾經歷過大大小小的不確定性,承受過永無休止的壓力。他們之所以能夠成功,是因為擁有一個共同點,都深切關注創建軟件所需的各項實踐。他們將軟件開發視為一種需要精雕細琢加以修煉的技藝,他們以專業人士的標準要求自己,他們具有職業素養。 軟件開發大師Robert C. Martin在書中介紹了真實軟件技藝中的各項原則、技術、工具和實踐,展示了怎么以自豪、自尊和自信的心態進行軟件開發,怎么取得表現和豐碩成果,怎么做到有效溝通和確切估算,怎么以坦誠的心態面對困難,并引導讀者認識到專業程序員肩負的責任重大,闡述了什么才是程序員的職業素養。 書中的具體內容包括: ● 成為真正的軟件專業人士需要具備哪些條件,如何應對彼此沖突又緊張的進度表和不近情理的管理人員; ● 如何做到流暢編程,克服阻塞狀態; ● 如何應對無休止的工作壓力,避免崩潰; ● 如何培養堅持不懈的態度,如何擁抱新的開發范式; ● 如何管理好時間,避免身陷泥潭無法自拔; ● 如何培育有利于程序員和開發團隊茁壯成長的環境; ● 什么時候應該說“不”,怎么說; ● 什么時候應該說“是”,保障意味著什么。 軟件強大、優雅而實用,讓人驚嘆不已,不論是開發者還是用戶都樂于使用這樣的軟件。它們并非是由機器編寫出來的,而是出自那些對軟件技藝擁有堅定信念的專業軟件開發者之手。本書將幫助讀者成為專業軟件開發者中的一員,并贏得只有他們才能擁有的榮譽感和成就感。
作者介紹 Robert C. Martin,軟件開發大師,設計模式和敏捷開發先驅,敏捷聯盟首任主席,C Report前主編,被后輩程序員尊稱為“Bob大叔”。20世紀7 0年代初成為職業程序員,后創辦Object Mentor公司并任總裁。Martin還是一名多產的作家,至今已發表數百篇文章、論文和博客文章。除本書外,還著有《代碼整潔之道》《敏捷軟件開發:原則、模式和實踐》《UML:Java程序員指南》等。他創辦了cleancoders.com網站,專為軟件開發人員提供教育視頻。 譯者介紹 余晟,混跡軟件開發和互聯網行業多年,目前在滬江網負責研發和架構管理工作。業余喜愛閱讀、思考,關注工程師的發展,探索更聰明的技術方案,樂于幫助外界更多理解IT行業的約束、規律和習慣。 章顯洲,螞蟻金服高級項目專家,業余以技術翻譯作為個人修煉與回饋軟件開發社區的途徑。自2009年來,翻譯和與人合譯多本技術管理書籍,偶爾也會出現在技術社區聚會上作一些分享。近年來主要致力于螞蟻金服基礎設施和架構升級方面的項目集管理。
目錄
必讀引言 1
第1章專業主義7
1.1清楚你要什么8
1.2擔當責任8
1.3首先,不行損害之事10
1.3.1不要破壞軟件功能10
1.3.2不要破壞結構12
1.4職業道德13
1.4.1了解你的領域14
1.4.2堅持學習16
1.4.3練習16
1.4.4合作17
1.4.5輔導17
1.4.6了解業務領域17
1.4.7與雇主/客戶保持一致18
1.4.8謙遜18
1.5參考文獻18
第2章說“不”19
2.1對抗角色21
2.2高風險時刻24
2.3要有團隊精神25
2.3.1試試看26
2.3.2消極對抗28
2.4說“是”的成本30
2.5如何寫出好代碼35
第3章說“是”37
3.1保障用語39
3.1.1識別“缺乏保障”的征兆40
3.1.2真正的保障聽起來是怎樣的40
3.1.3總結43
3.2學習如何說“是”43
3.2.1“試試”的另一面43
3.2.2堅守原則44
3.3結論46
第4章編碼47
4.1做好準備48
4.1.1凌晨3點寫出的代碼49
4.1.2焦慮時寫下的代碼50
4.2流態區51
4.2.1音樂52
4.2.2中斷53
4.3阻塞53
4.4調試55
4.5保持節奏57
4.5.1知道何時應該離開一會58
4.5.2開車回家路上58
4.5.3洗澡58
4.6進度延遲58
4.6.1期望59
4.6.2盲目沖刺59
4.6.3加班加點60
4.6.4交付失誤60
4.6.5定義“完成”61
4.7幫助61
4.7.1幫助他人61
4.7.2接受他人的幫助62
4.7.3輔導62
4.8參考文獻63
第5章測試驅動開發65
5.1此事已有定論66
5.2TDD的三項法則67
5.3TDD的優勢68
5.3.1確定性68
5.3.2缺陷注入率68
5.3.3勇氣69
5.3.4文檔69
5.3.5設計70
5.3.6專業人士的選擇70
5.4TDD的局限70
5.5參考文獻71
第6章練習73
6.1引子73
6.1.110的22次方74
6.1.2轉變75
6.2編程柔道場76
6.2.1卡塔77
6.2.2瓦薩78
6.2.3自由練習78
6.3自身經驗的拓展79
6.3.1開源79
6.3.2關于練習的職業道德79
6.4結論80
6.5參考文獻80
第7章驗收測試81
7.1需求的溝通81
7.1.1過早精細化83
7.1.2遲來的模糊性83
7.2驗收測試85
7.2.1“完成”的定義85
7.2.2溝通88
7.2.3自動化88
7.2.4額外工作89
7.2.5驗收測試什么時候寫,由誰來寫90
7.2.6開發人員的角色90
7.2.7測試的協商與被動推進91
7.2.8驗收測試和單元測試93
7.2.9圖形界面及其他復雜因素93
7.2.10持續集成94
7.3結論95
第8章測試策略97
8.1QA應該找不到任何錯誤98
8.1.1QA也是團隊的一部分98
8.1.2需求規約定義者98
8.1.3特性描述者98
8.2自動化測試金字塔98
8.2.1單元測試99
8.2.2組件測試100
8.2.3集成測試100
8.2.4系統測試101
8.2.5人工探索式測試102
8.3結論102
8.4參考文獻102
第9章時間管理103
9.1會議104
9.1.1拒絕104
9.1.2離席105
9.1.3確定議程與目標105
9.1.4立會106
9.1.5迭代計劃會議106
9.1.6迭代回顧和DEMO展示107
9.1.7爭論/反對107
9.2注意力點數108
9.2.1睡眠108
9.2.2咖啡因108
9.2.3恢復109
9.2.4肌肉注意力109
9.2.5輸入與輸出109
9.3時間拆分和番茄工作法110
9.4
“毫無疑問,Bob大叔的這本新作又一次抬高了專業程序員的門檻。在書中,他從交互管理、時間管理、壓力管理、合作方法以及工具選擇等諸多方面,闡述了他對一名專業程序員的期望。Bob并不囿于對T D D和AT D D的傳授,他不僅解釋了每一名自視為專業人士的程序員所需要知道的東西,而且指出了他們在歷練尚淺的軟件開發職業生涯中需要不斷精進的內容。” —— Markus G?rtner,it-agile公司軟件開發者 “有一些技術書頗具啟發和教益,有一些則讀來輕松喜悅且富有趣味,但很少有技術書籍能夠同時兼具所有這四個特色。我感覺Ma r t i n所有的書都可歸入此列。本書也不例外。閱讀、學習和守持書中的教誨,你將可以信心滿滿地把自己訓練為軟件專業人士。” —— George Bullock,微軟公司程序經理 “如果計算機科學學位要求有‘畢業后必讀書單’,本書當在其列。在現實的職業生涯中,糟糕的代碼不會因學期結束就此消失,程序員也不會因加班加點開夜車編碼便可獲得A級評分,而雪上加霜的是,你還必須抽出精力與人打交道。就算你是個編程高手,也并不一定就可以稱為專業人士。本書描述了邁向專業程序員的修煉旅程……而且閱讀起來確實異常有趣。” —— Jeff Overvey,伊利諾伊大學厄本那-香檳分校 “本書遠不只是給出了一套規則或指導方針,它還包含了無數來之不易的智慧和知識,這些寶貴財富通常只有經歷過多年的試錯,歷經由初級學徒修煉成為大師級工匠的整個過程才能獲得。如果你期望自己能成為軟件專業人士,那么本書不容錯過。” —— R. L. Bogetti,Snap-on公司高級軟件工程師
還可以吧!
質量還可以。。。。
很好的書,當當服務很好
包裝不錯,送貨很及時。
以為挺厚的,其實很薄
商品包裝完好 內容看完再評
包裝不錯,整體感覺不錯
買給男朋友的~
書很好,非常喜歡,給當當好評
外行人看看。
看了目錄就知道這本書是我想要的!
為了湊單買的,閑來讀物
是所在領域的權威之作,值得大家的購買和閱讀,強烈推薦!~
一般,不推薦
很好很好很好很好
非常好的書,參加活動購買比平時劃算多了。非常好的書,參加活動購買比平時劃算多了。
代碼整潔之道,程序員的職業素養,相當不錯的一本書
書很不錯,有提高就行,學習使我快樂
書質量貌似不錯
默認評價。
非常好的一本書
代碼整潔之道姊妹篇,先看看再說
很好的書。
很薄的一本書,有點意外,看看再說
經典好書,待慢慢細讀
十分的好,豆瓣書評
很棒的一本書
有種上dàng的感覺,太薄了啊,還賣這么貴。話說當當的當居然是敏感詞,也是醉了
東西很好,與預想一致。希望內容能給我足夠大的驚喜
發貨速度很快,買書的時候發現的新書,包裝的很好,很滿意
快遞員哭喪著臉 家里怎么了 打電話語氣也很霸道 可以啊
還好不是字典那么厚那種,讓我有種想看完的感覺
程序員經典必讀書籍,只有薄薄的一百七十頁,但讀完受益匪淺,字數來說偏貴,收獲來說,這個價格是值的,沒有質量問題,非常好。
作為一個及格的程序猿,代碼的整潔是必由之路,這本是值得一看。。。