敏捷軟件工程實踐書籍

Scrum轉型想要做好,第一步先了解並真正落實Scrum,那麼我推薦的Scrum書籍是要看懂並實踐的。第二步是團隊的工程實踐要做紮實。

下面推薦工程實踐書單:

重構:改善既有代碼的設計

解析極限編程 : 擁抱變化

代碼整潔代碼

程序員的職業素養

修改代碼的藝術

編寫可讀代碼的藝術

測試驅動開發 : 實戰與模式解析

Cucumber:行爲驅動開發指南

實例化需求

馴服爛代碼

重構:改善既有代碼的設計

作者:Martin Fowler 出版社:人民郵電出版社 譯者:熊節 鏈接:https://item.jd.com/12584498.html 內容簡介:

重構,一言以蔽之,就是在不改變外部行爲的前提下,有條不紊地改善代碼。多年前,正是本書原版的出版,使重構終於從編程高手們的小圈子走出,成爲衆多普通程序員日常開發工作中不可或缺的一部分。本書也因此成爲與《設計模式》齊名的經典著作,被譯爲中、德、俄、日等衆多語言,在世界範圍內暢銷不衰。

本書凝聚了軟件開發社區專家多年摸索而獲得的寶貴經驗,擁有不因時光流逝而磨滅的價值。今天,無論是重構本身,業界對重構的理解,還是開發工具對重構的支持力度,都與本書最初出版時不可同日而語,但書中所蘊涵的意味和精華,依然值得反覆咀嚼,而且往往能夠常讀常新。

解析極限編程 : 擁抱變化

作者:Kent Beck / Cynthia Andres 出版社:機械工業出版社 譯者:雷劍文 / 李應樵 / 陳振衝 鏈接:https://item.jd.com/31536602426.html 內容簡介:

極限編程(XP)是適用於中小型團隊在需求不明確或者迅速變化的情況下進行軟件開發的輕量級方法學。本書是XP宣言,也是第一本有關XP的圖書。

這本書介紹了XP背後的思想——它的根源、哲學、情節等。它將幫助讀者選擇是否在項目中使用XP時做出明智的決策。本書的另一個目的是幫助那些已經在使用 XP的讀者更好地理解它。 對程序員而言,XP做出的承諾是他們每天能夠處理真正重要的工作,而不必單獨面對令人擔憂的狀況。他們將能夠集中全力來使他們的系統獲得成功。他們將做出最適合由他們來做的決策。對於客戶和管理人員而言,XP的承諾是他們將從每個編程週期中獲得最多的利益。他們將能夠在開發的中途更改項目的方向而不用承擔太高的成本。

本書適合所有軟件開發人員、管理人員參考。

代碼整潔之道:程序員的職業素養

作者:羅伯特·C.馬丁 (Robert C.Martin) 出版社: 人民郵電出版社 原作名: The Clean Coder:A Code of Conduct for Professional Programmers 譯者: 餘晟 / 章顯洲 鏈接:https://item.jd.com/11977659.html 內容簡介:

匯聚編程大師40餘年編程生涯的心得體會

闡釋軟件工藝中的原理、技術、工具和實踐

助力專業軟件開發人員具備令人敬佩的職業素養

成功的程序員在以往的工作和生活中都曾經歷過大大小小的不確定性,承受過永無休止的壓力。他們之所以能夠成功,是因爲擁有一個共同點,都深切關注創建軟件所需的各項實踐。他們將軟件開發視爲一種需要精雕細琢加以修煉的技藝,他們以專業人士的標準要求自己,他們具有職業素養。

軟件開發大師Robert C. Martin在書中介紹了真實軟件技藝中的各項原則、技術、工具和實踐,展示了怎麼以自豪、自尊和自信的心態進行軟件開發,怎麼取得卓越表現和豐碩成果,怎麼做到有效溝通和確切估算,怎麼以坦誠的心態面對困難,並引導讀者認識到專業程序員肩負的責任重大,闡述了什麼纔是程序員的職業素養。

書中的具體內容包括:

● 成爲真正的軟件專業人士需要具備哪些條件,如何應對彼此衝突又緊張的進度表和不近情理的管理人員;

● 如何做到流暢編程,克服阻塞狀態;

● 如何應對無休止的工作壓力,避免崩潰;

● 如何培養堅持不懈的態度,如何擁抱新的開發範式;

● 如何管理好時間,避免身陷泥潭無法自拔;

● 如何培育有利於程序員和開發團隊茁壯成長的環境;

● 什麼時候應該說“不”,怎麼說;

● 什麼時候應該說“是”,承諾意味着什麼。

軟件強大、優雅而實用,讓人驚歎不已,不論是開發者還是用戶都樂於使用這樣的軟件。它們並非是由機器編寫出來的,而是出自那些對軟件技藝擁有堅定信念的專業軟件開發者之手。本書將幫助讀者成爲專業軟件開發者中的一員,並贏得只有他們才能擁有的榮譽感和成就感。

修改代碼的藝術

作者: (美)Michael C. Feathers 出版社: 機械工業出版社 原作名: Working Effectively with Legacy Code 譯者: 侯伯薇 鏈接:https://item.jd.com/12251466.html 內容簡介:

世界級計算機專家Michael C. Feathers的經典之作,軟件開發大師Robert C. Martin作序傾情推薦,修改遺留代碼的權威指南。深入剖析修改遺留代碼的各種方法和策略,從理解遺留代碼、爲其編碼測試、重構及增加特性等方面給出大量實用建議,是所有程序開發人員必讀之作。

修改代碼時,你覺得容易嗎?當你修改代碼時,能否幾乎即時地獲得反饋?你理解那些代碼嗎?如果對於這些問題的答案是否定的,那麼你面對的就是遺留代碼,它們正在浪費你開發工作的時間和金錢。

在本書中,作者爲更有效地處理大規模、缺少測試的遺留代碼提供了自始至終的策略。本書內容來自Michael創建的非常知名的Object Mentor公司的研習會,Michael使用那些技術來指導並幫助了成千上萬位開發者、技術經理和測試人員,讓他們的遺留系統處於可控狀態。

本書主要內容:

理解修改軟件的機制:添加特性、修正缺陷、改進設計、優化性能

把遺留代碼放到測試用具之中

編寫測試,防止引入新的問題

包含Java、C++、C和C#的示例,其中介紹的大多數技術適用於其他任何語言或平臺

精確地確定要在哪些地方修改代碼

處理非面向對象的遺留代碼

處理看起來沒有任何結構的應用程序

編寫可讀代碼的藝術

作者: Boswell, D. / Foucher, T. 出版社: 機械工業出版社 原作名: The Art of Readable Code 譯者: 尹哲 / 鄭秀雯 鏈接:https://item.jd.com/11020839.html 內容簡介:

細節決定成敗,思路清晰、言簡意賅的代碼讓程序員一目瞭然;而格式凌亂、拖沓冗長的代碼讓程序員一頭霧水。除了可以正確運行以外,優秀的代碼必須具備良好的可讀性,編寫的代碼要使其他人能在最短的時間內理解纔行。本書旨在強調代碼對人的友好性和可讀性。

本書關注編碼的細節,總結了很多提高代碼可讀性的小技巧,看似都微不足道,但是對於整個軟件系統的開發而言,它們與宏觀的架構決策、設計思想、指導原則同樣重要。編碼不僅僅只是一種技術,也是一門藝術,編寫可讀性高的代碼尤其如此。如果你要成爲一位優秀的程序員,要想開發出高質量的軟件系統,必須從細處着手,做到內外兼修,本書將爲你提供有效的指導。

主要內容:

簡化命名、註釋和格式的方法,使每行代碼都言簡意賅。

·梳理程序中的循環、邏輯和變量來減小複雜度並理清思路。

·在函數級別解決問題,例如重新組織代碼塊,使其一次只做一件事。

·編寫有效的測試代碼,使其全面而簡潔,同時可讀性更高。

測試驅動開發 : 實戰與模式解析

作者: Kent Beck 出版社: 機械工業出版社 副標題: 實戰與模式解析 原作名: Test-Driven Development: by Example 譯者: 白雲鵬 鏈接:https://item.jd.com/11315541.html 內容簡介:

本書是測試驅動開發領域的開山之作,由軟件工程領域泰斗、極限編程之父Kent Beck撰寫,榮獲第14界Jolt大獎,10餘年暢銷不衰,具有里程碑意義。書中不僅以案例的形式呈現了測試驅動開發的原則和方法,而且詳盡地闡述了測試驅動開發(TDD)的模式和最佳實踐。

本書共32章,分爲三大部分。第一部分(第1~17章)從簡單問題入手,介紹了TDD的概念、優勢與設計方法,再逐步深入到解決複雜問題的方式;細緻講解了如何在編寫程序代碼前編寫自動化測試,如何先塑造一個設計再通過重構逐漸添加設計上的構思,如何爲更復雜的邏輯創建測試等。第二部分(第18~24章)講解用xUnit創建測試的實例,介紹如何利用xUnit框架創建自己的測試用例,便於高效地進行測試。第三部分(第25~32章)介紹TDD的設計模式,包括部分經典的設計模式以及如何將這些模式與TDD相結合,還介紹了重構的方法,以及TDD中的特殊問題等。本書從始至終貫穿了兩個TDD項目,展示瞭如何輕而易舉且卓有成效地編寫優質代碼的技術。

代碼整潔之道

作者: [美] Robert C·Martin 出版社: 人民郵電出版社 原作名: Clean Code: A Handbook of Agile Software Craftsmanship 譯者: 韓磊 鏈接:https://item.jd.com/10064006.html 內容簡介:

軟件質量,不但依賴於架構及項目管理,而且與代碼質量緊密相關。這一點,無論是敏捷開發流派還是傳統開發流派,都不得不承認。

本書提出一種觀念:代碼質量與其整潔度成正比。乾淨的代碼,既在質量上較爲可靠,也爲後期維護、升級奠定了良好基礎。作爲編程領域的佼佼者,本書作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在本書中體現爲一條條規則(或稱“啓示”),並輔以來自現實項目的正、反兩面的範例。只要遵循這些規則,就能編寫出乾淨的代碼,從而有效提升代碼質量。

本書閱讀對象爲一切有志於改善代碼質量的程序員及技術經理。書中介紹的規則均來自作者多年的實踐經驗,涵蓋從命名到重構的多個編程方面,雖爲一“家”之言,然誠有可資借鑑的價值。

Cucumber:行爲驅動開發指南

作者: [英]Matt Wynne / [挪]Aslak Hellesy 出版社: 人民郵電出版社 原作名: The Cucumber Book:Behaviour-Driven Development for Testers and Developers 譯者: 許曉斌 / 王江平 鏈接:https://item.jd.com/11266246.html 內容簡介:

《cucumber:行爲驅動開發指南》的兩位作者是matt wynne和aslak hellesy,前者是cucumber最有經驗的用戶和貢獻者之一,後者是cucumber的創始人,因此,《cucumber:行爲驅動開發指南》是一本權威指南,它會提供使用cucumber所需的全部知識,讓你和你的團隊自信地開啓cucumber之旅。儘管cucumber誕生於ruby社區,但你可以用它測試幾乎所有系統,從簡單的shell或perl腳本,到使用php、java或任何其他平臺編寫的web應用。

書中將展示如何用一組清晰、可執行且團隊中任何人都能讀懂的規格說明來表達用戶那些天馬行空的想法。你將學會如何將這些示例提供給cucumber,並讓它指導你的開發過程。《cucumber:行爲驅動開發指南》的第一部分會提供cucumber入門所需的全部知識,引導你從cucumber的核心特性起步,通過cucumber的gherkin dsl,使用自然語言來描述客戶想要的系統行爲,然後帶你編寫ruby代碼來解釋這些自然語言描述的規格說明並據此來驗證應用的行爲。第二部分將通過一個可以工作的例子來鞏固學到的知識,同時學習一些更高級的cucumber技術,還將學習如何測試異步系統和使用數據庫的系統。第三部分提供了一些解決問題的方法,針對的都是作者曾幫助其他團隊解決過的最困難、最常見的問題。基於這些模式和技術,你將學習如何使用capybara和selenium測試大量使用ajax的web應用,測試rest web服務、ruby on rails應用、命令行應用、遺留程序等。

cucumber有助於在軟件團隊中的技術人員和非技術人員之間架起溝通的橋樑。《cucumber:行爲驅動開發指南》的內容既適合開發人員和測試人員閱讀,也適合軟件團隊中的非技術讀者閱讀。

實例化需求

作者: Gojko Adzic 出版社: 人民郵電出版社 副標題: 團隊如何交付正確的軟件 原作名: Specification by Example:How Successful Teams Deliver the Right Software 譯者: 張昌貴 / 張博超 / 石永超 鏈接:https://item.jd.com/30336762.html 內容簡介:

《實例化需求:團隊如何交付正確的軟件》是在世界各地調查了多個團隊軟件交付過程後的經驗總結。《實例化需求:團隊如何交付正確的軟件》介紹了這些團隊如何在很短的週期內說明需求、開發軟件,並交付正確的、無缺陷的產品;爲團隊在實施實例化需求說明時使用的模式、想法和工件創建了一致的語言;展示了案例中的團隊用來實現實例化需求說明原則的關鍵性實踐;並在案例分析部分展示了一些團隊實施實例化需求說明的歷程。

《實例化需求:團隊如何交付正確的軟件》適合與項目管理、開發、測試、交付有關的人員閱讀。

馴服爛代碼

作者: 伍斌 出版社: 機械工業出版社 副標題: 在編程操練中悟道 出版年: 2014-11 鏈接:https://item.jd.com/11576919.html 內容簡介:

Kent Beck、Martin Fowler、Michael C. Feathers、Robert C. Martin、Joshua Kerievsky、Gerard Meszaros等大師們的傳世著作爲如何提升編程技藝和代碼質量提供了思想和原則上的指導,本書則爲實踐和融合這些思想、原則提供了過程和方法上指導。本書通過編程操練的方式講述瞭如何用TDD(測試驅動開發)的方法來馴服爛代碼,通過結對編程的對話形式展示了馴服爛代碼的完整過程,將馴服爛代碼所需要的思想、態度、習慣、方法和技藝完全融入編程操練實踐中,是目前最具實踐指導意義的馴服爛代碼的著作。

全書共20章,分爲四個部分:第一部分(第1~10章)首先通過測試後行和測試先行兩種方法完成了一個名爲“碼農酒店”(世界時鐘)的編程操練題目,然後對這兩種方法進行對比,引出了爛代碼的概念,讀者能非常直觀看出哪一種方法更容易寫出爛代碼。第二部分(第11~15章)通過一個名爲Trivia(答題闖關遊戲)的經典編程操練題目詳細講述了馴服一段爛代碼的過程,首先講解了代碼腐臭的識別和記錄,然後講解了如何通過一系列的重構來清除這些腐臭。第三部分(第16~18章)通過三個編程操練題目詳述了編寫真正的單元測試的過程,首先講解了用提取接口的辦法編寫Stub來進行單元測試,以及用子類化並覆寫方法的辦法編寫Mock來進行單元測試,然後講解了如何將被測類與文件系統之間的這種不適用於單元測試的耦合,轉化爲被測類與字符串之間這種適合與單元測試的耦合。第四部分(第19~20章)總結了馴服爛代碼的步驟及方法,首先講解了TDD開發方法的一種實現:I-EPP-TR方法,該方法中的全面重構的概念對傳統的重構概念進行了擴展,然後討論瞭如何才能將前面所討論的良好的編程方法形成習慣並固化下來。

原文鏈接
歡迎報名我的線上課程 - Scrum敏捷精髓

本文首發於 Bob Jiang的博客 ,轉載請聯繫 Bob Jiang

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章