敏捷技能修鍊:敏捷式軟體開發 (Agile Software Development)與設計的最佳實務

來源:互聯網
上載者:User

《敏捷技能修鍊:敏捷式軟體開發 (Agile Software Development)與設計的最佳實務》
基本資料
原書名:Essential Skills for the Agile Developer:A Guide to Better Programming and Design
作者: (美)Alan Shalloway Scott Bain Ken Pugh Amir Kolsky [作譯者介紹]
譯者: 鄭立 鄒駿 黃靈
出版社:機械工業出版社
ISBN:9787111395270
上架時間:2012-8-25
出版日期:2012 年8月
開本:16開
頁碼:1
版次:1-1
所屬分類: 電腦 > 軟體工程及軟體方法學 > 軟體專案管理
電腦 > 軟體與程式設計 > 綜合 > 進階程式語言設計

更多關於》》》《敏捷技能修鍊:敏捷式軟體開發 (Agile Software Development)與設計的最佳實務》
內容簡介
書籍
電腦書籍
  《敏捷技能修鍊:敏捷式軟體開發 (Agile Software Development)與設計的最佳實務》的4位作者都是世界頂級的軟體開發專家和敏捷導師,都有數十年的軟體行業從業經驗,其中3位曾榮獲jolt大獎。本書是敏捷式軟體開發 (Agile Software Development)領域公認的經典著作,權威性毋庸置疑。
  《敏捷技能修鍊:敏捷式軟體開發 (Agile Software Development)與設計的最佳實務》中內容圍繞“敏捷式編程”這一主題展開,對每一位敏捷式軟體開發 (Agile Software Development)人員都應該掌握的核心技能和技術進行了深入闡述,總結出了大量最佳實務,提供了一整套最精鍊的技術集合,可以協助他們在開發中變得遊刃有餘,極大地提高開發效率和軟體品質。
  全書共分四個部分:第一部分(1~7章),闡述了在軟體開發過程中能起到“四兩撥千斤”作用的幾種思想方法(“小舵板”),如意圖導向編程、分離構造和使用、測試先行和shalloway原則等,並總結了業界常用的幾種實踐,包括如何封裝、面向介面的設計和驗收測試驅動等;第二部分(8~9章),對過度設計和持續整合這兩個問題進行了深入的探討,並給出了最佳實務;第三部分(10~13章),作者分享了很多隻有在他們的教學現場才能獲得的經驗,這些經驗是優秀架構師應該具備的,具體包括共性和可變性分析、以開放關閉原則為目標的重構、需求與功能介面、何時以及如何使用繼承等重要內容;第四部分是附錄,介紹了整合模組化語言、提高代碼品質的原則,以及如何封裝未經處理資料類型等。
目錄
《敏捷技能修鍊:敏捷式軟體開發 (Agile Software Development)與設計的最佳實務》
推薦序
譯者序
叢書前言
前言
致謝
第一部分最關鍵的小舵板
第1章意圖導向編程
1.1意圖導向編程:一個執行個體
1.2優點
1.2.1方法的內聚性
1.2.2可讀性和表達性
1.2.3調試
1.2.4重構和增強
1.2.5單元測試
1.2.6更易修改和擴充
1.2.7在代碼中發現模式
1.2.8可遷移的方法
1.3小結
第2章分離構造和使用
2.1一個重要的問題
2.2兩種視圖
2.2.1建立視圖
2.2.2使用視圖
2.2.3隱藏的部分更容易改動
2.2.4現實的做法
2.2.5一些實際的考量因素
2.3給你的決策計時
2.4重載和c++
2.5自我查驗
2.6小結
第3章代碼未動,測試先行
3.1一個小舵板:測試與可測試性
3.2什麼是測試
3.3可測試性和代碼品質
3.4案例學習:可測試性
3.4.1隨時應對變化
3.4.2青蛙一樣的程式員
3.5一個關於測試先行的思考
3.5.1更好的設計
3.5.2更清晰的範圍和避免不必要的工作
3.5.3降低複雜性
3.5.4其他優勢
3.5.5沒有例外
3.6小結
第4章shalloway法則和shalloway原則
4.1冗餘的種類
4.1.1複製和粘貼
4.1.2“魔法”數字
4.1.3其他類型
4.2重新定義冗餘
4.3其他形式的冗餘
4.4設計模式在減少冗餘時扮演的角色
4.5很少有開發人員花費大量的時間去“修改”代碼錯誤
4.6冗餘對代碼品質其他方面的影響
4.7小結
第5章封裝
5.1未封裝的代碼:對全域變數的破壞
5.2成員標誌的封裝
5.3自封裝成員
5.4預防代碼更改
5.5封裝引用對象的痛點
5.6用get()來打破封裝
5.7物件類型的封裝
5.8設計的封裝
5.9各個層次的封裝
5.10實用性建議:把困難封裝起來
5.11小結
第6章面向介面的設計
6.1針對介面的設計
6.2介面的定義
6.3介面約定
6.4分離不同的視圖
6.5介面的類比實現
6.6讓介面保持簡單
6.7避免過早採用繼承體系
6.8介面和抽象類別
6.9依賴反轉原則
6.10多態性概述
6.11不是每個類都需要介面
6.12小結
第7章接受度測試驅動開發
7.1兩種開發流程
7.2驗收測試
7.3一個關於驗收測試的執行個體
7.4實現驗收測試
7.4.1針對使用者介面的測試指令碼
7.4.2測試使用者介面
7.4.3xunit測試
7.4.4驗收測試架構
7.4.5四種方法間的聯絡
7.5一個練習
7.6如果客戶不告訴你怎麼做的時候,你應該怎麼辦
7.7小結
第二部分基本態度
第8章避免過度設計或設計不足
8.1給開發人員的箴言
8.2代碼品質病理學
8.3避免過度設計或設計不足
8.4把複雜度和返工最小化
8.5永不把代碼變得更糟/僅在有目的的情況下降低代碼品質
8.6使代碼容易修改,足夠強大健壯,適應變化並安全可靠
8.7在非物件導向的代碼或遺留系統裡編寫易於修改代碼的策略
8.8小結
第9章持續整合
9.1建立原始碼分支
9.1.1多版本:特殊分支
9.1.2孤立地工作:開發分支
9.1.3問題、解決方案、新的問題
9.2將主幹內容合并回分支
9.3測試驅動開發與合并成本
9.4持續整合
9.5持續整合伺服器
9.6小結
第三部分設計問題
第10章共性和可變性分析
10.1用動詞和名詞來做指南:警告,前面有危險
10.2真正的問題是什麼
10.3我們所需要知道的
10.4共性和可變性分析
10.4.1共性分析
10.4.2可變性分析
10.4.3物件導向設計“一箭三雕”
10.5發掘對象的新範式
10.6分析矩陣:一個用例學習
10.7小結
第11章以開放關閉原則為目標的重構
11.1開放關閉原則
11.1.1從開放關閉原則引申到其他
11.1.2開放關閉原則是一個“原則”
11.2重構
11.2.1為何重構
11.2.2負債還是投資
11.2.3重構和遺留系統
11.2.4以開放關閉原則為目標的重構
11.2.5“及時”設計
11.3小結
第12章需求與功能介面
12.1迪米特法則
12.2耦合,可惡的耦合,還有依賴
12.2.1耦合和可測試性
12.2.2需求與功能
12.3理想的分離方案:需求介面和
功能介面
12.4回到迪米特法則
12.5小結
第13章何時以及如何使用繼承
13.1“四人組”
13.2初始向量,最終結果
13.3優先委託
13.4使用繼承與使用委託
13.5繼承的使用
13.6可擴充性
13.7在敏捷開發裡應用四人組的訓誡
13.8測試問題
13.9更多
第四部分附錄
附錄a整合模組化語言概覽
附錄b代碼品質
附錄c封裝未經處理資料類型

本圖書資訊來源於:中國互動出版網

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.