廣集專家智慧精粹,讓你學習每位程式設計人所應該知道的一切。無論你是使用哪一種程式語言,透過書中 97 位專家所貢獻的經驗建議和智慧精要與極具實用的訣竅,以最簡潔有力的方式與全新的思維,解決以往難以處理的窠臼。你的專業能力將因此提升,實踐方式也能更適切務實。
本書作者是一群深具實務經驗及備受推崇的專家—包括 Michael Feathers、Pete Goodliffe、Diomidis Spinellis、Cay Horstmann、Verity Stob 等。書中所涵蓋的實踐知識和原則,都可在你所面對的各類型專案中應用發揮。
書中有代表性的主題包括:
‧使用領域的詞語撰寫程式 (Dan North)
‧測試是為人而寫 (Gerard Meszaros)
‧方便性不是一種能力 (Gregor Hohpe)
‧了解你的 IDE (Heinz Kabutz)
‧一封給未來的訊息 (Linda Rising)
‧童子軍規則 (Robert C. Martin, aka Uncle Bob)
‧謹慎共享 (Udi Dahan)
以及更多精采文章...
作者簡介:
Kevlin Henney
Kevlin Henney 是一位獨立諮詢師、培訓師以及作者,致力於程式設計、模式、實踐經驗與開發過程。他曾與人合著兩本物件導向軟體架構系列書籍:《Pattern-Oriented Software Architecture Volume 4:A Pattern Language for Distributed Computing》與《Pattern Oriented Software Architecture Volume 5:On Patterns and Pattern Languages》(均由 Wiley 公司出版)
目錄
序
謹慎行事 Seb Rose
應用函數式程式設計原則 Edward Garson
試問「使用者會怎麼做?」(你不算是使用者) Giles Colborne
程式碼標準的自動化 Filip van Laenen
簡約即是美 Jørn Ølmheim
在你重構之前 Rajith Attapattu
謹慎共享 Udi Dahan
童子軍規則 Robert C. Martin (Uncle Bob)
在責備別人之前先檢查自己的程式碼 Allan Kelly
慎選工具 Giovanni Asproni
使用領域內的詞語撰寫程式 Dan North
程式碼即是設計 Ryan Brush
程式碼的排版很重要 Steve Freeman
程式碼審查 Mattias Karlsson
編寫程式與驗證 Yechiel Kimchi
對註解的評論 Cal Evans
只在程式碼無法表達之處註解 Kevlin Henney
不斷學習 Clint Shank
方便性不是一種能力 Gregor Hohpe
盡早發佈、經常發佈 Steve Berczuk
區分業務例外與技術例外 Dan Bergh Johnsson
進行大量審慎的練習 Jon Jagger
領域專屬語言 Michael Hunger
別怕弄壞東西 Mike Lewis
別在你的測試資料裡裝可愛 Rod Begbie
不要忽視那個錯誤! Pete Goodliffe
不要只學習語言,還要了解其文化 Anders Norås
不要把程式釘死在原地 Verity Stob
不要指望「魔法會在此發生」 Alan Griffiths
不要重複自己(DRY) Steve Smith
不要動那些程式碼! Cal Evans
封裝行為,而不只是狀態 Einar Landre
浮點數不是實數 Chuck Allison
用開放原始碼實現你的雄心壯志 Richard Monson-Haefel
API 設計的黃金法則 Michael Feathers
高手神話 Ryan Brush
努力工作,事倍功半 Olve Maudal
如何使用 bug 追蹤工具? Matt Doar
用刪減來提升程式碼 Pete Goodliffe
安裝我吧! Marcus Baker
跨行程通訊對應用程式回應時間的影響 Randy Stafford
保持乾淨的建置 Johannes Brodwall
了解如何使用命令列工具 Carroll Robinson
熟悉兩種以上的程式語言 Russel Winder
了解你的 IDE Heinz Kabutz
了解你的極限 Greg Colvin
知道你下次送交的內容 Dan Bergh Johnsson
多量、相互關聯的資料應放置在資料庫 Diomidis Spinellis
學習其他未曾接觸過的語言 Klaus Marquardt
學會評估時程 Giovanni Asproni
學著說出,「Hello, World」 Thomas Guest
令你的專案能夠表達它自己 Daniel Lindner
連結器並非是個擁有魔法的程式 Walter Bright
臨時解決方案的壽命 Klaus Marquardt
令介面易於被正確使用且難以被誤用 Scott Meyers
提高不可見性事物的能見度 Jon Jagger
在平行化系統中使用訊息傳遞可以獲得更好的擴充性 Russel Winder
一封給未來的訊息 Linda Rising
錯失使用多型的機會 Kirk Pepperdine
奇聞軼事:測試人員是你的朋友 Burk Hufnagel
僅建置一份二進位檔 Steve Freeman
只有程式碼能訴說真相 Peter Sommerlad
擁有(並重構)整個建置腳本 Steve Berczuk
結對編程並沉浸其中 Gudny Hauknes, Kari Røssland, and Ann Katrin Gagnat
領域專屬型別勝過於原生型別 Einar Landre
避免錯誤發生 Giles Colborne
專業的程式設計師 Robert C. Martin (Uncle Bob)
將一切放置在版本控制之下 Diomidis Spinellis
放下滑鼠,遠離鍵盤 Burk Hufnagel
閱讀程式碼 Karianne Berg
讀懂人性 Keith Braithwaite
經常重新發明輪子 Jason P. Sage
抗拒獨體模式的誘惑 Sam Saariste
通往效能的路上充斥著骯髒的程式碼炸彈 Kirk Pepperdine
簡單來自於削減 Paul W. Homer
單一職責原則(SRP) Robert C. Martin (Uncle Bob)
從相信自己做得到開始 Alex Miller
回過頭將一切自動化、自動化、自動化 Cay Horstmann
善用程式碼分析工具 Sarah Mount
為必要行為測試,而非偶發行為 Kevlin Henney
精確且具體的進行測試 Kevlin Henney
在你睡覺(或周末)的時候進行測試 Rajith Attapattu
測試是軟體開發的嚴密工程 Neal Ford
狀態的思考方式 Niclas Nilsson
一人計短,兩人計長 Adrian Wible
錯加上加錯就會變成對的(並且難以修復) Allan Kelly
為所有人互助共享而撰寫程式 Aslam Khan
Unix 工具是你的好幫手 Diomidis Spinellis
使用正確的演算法與資料結構 Jan Christiaan “JC” van Winkel
冗長的日誌會擾亂你的睡眠 Johannes Brodwall
WET 掩蓋了效能瓶頸 Kirk Pepperdine
當程式設計師與測試人員協同合作之時 Janet Gregory
撰寫程式碼就如同你會在後續日子中持續的支援它 Yuriy Zubarev
使用例子撰寫小型函式 Keith Braithwaite
測試是為人而寫的 Gerard Meszaros
你必須關心你的程式碼 Pete Goodliffe
客戶說的不代表是他們要的 Nate Jackson
作者群
索引
序
謹慎行事 Seb Rose
應用函數式程式設計原則 Edward Garson
試問「使用者會怎麼做?」(你不算是使用者) Giles Colborne
程式碼標準的自動化 Filip van Laenen
簡約即是美 Jørn Ølmheim
在你重構之前 Rajith Attapattu
謹慎共享 Udi Dahan
童子軍規則 Robert C. Martin (Uncle Bob)
在責備別人之前先檢查自己的程式碼 Allan Kelly
慎選工具 Giovanni Asproni
使用領域內的詞語撰寫程式 Dan North
程式碼即是設計 Ryan Brush
程式碼的排版很重要 Steve Freeman
程式碼審查 Mattias Karlsson
編寫程式與驗證 Yechi...