< >
「本書在談到權衡取捨的同時,還解釋了Google做軟體工程的方式,一個讓我最有生產力、最開心的方式。」- Eric HaughGoogle軟體工程師 今日,軟體工程師不僅需要知道如何有效地進行程式設計,還需要知道如何開發適當的工程規範,以使他們的程式碼基底(codebase)能夠持續發展和維持健康。本書還強調了程式設計和軟體工程之間的區別。軟體工程師如何管理一個發展中的程式碼基底,並在其生命週期內回應不斷變化的需求和要求?軟體工程師Titus Winters和Hyrum Wright以及技術作家Tom Manshreck根據他們在Google的經驗,坦率並深刻地說明了一些世界領先之從業者建構和維護軟體的方式。本書介紹了Google獨特的工程文化、流程和工具,以及這些方面提高工程組織效率的方式。你將探索軟體組織在設計、建構、編寫和維護程式碼時應牢記的三個基本原則:‧時間如何影響軟體的可持續性,以及如何使你的程式碼隨著時間的推移而具有彈性‧規模如何影響軟體規範在工程組織中的可行性‧典型的工程師在評估設計和開發決策時需要做出哪些權衡
Titus Winters 是Google高級軟體工程師。他是Google C++程式碼基底的程式庫負責人:每月有數千名不同的工程師編輯2.5億列的程式碼。Tom Manshreck 是Google軟體工程部技術作家。他是C++程式庫團隊的成員,負責開發文件、開設培訓課程,以及記錄Google的開源C++程式碼Abseil。Hyrum Wright 是Google軟體工程師,負責領導Google的auton自動變更工具組。Hyrum對Google之程式碼基底進行的個人編輯比公司歷史上任何其他工程師都多。
第一部分 主題第一章 何謂軟體工程?第二部分 文化第二章 如何做好團隊合作第三章 知識共享第四章 公平工程第五章 如何領導團隊第六章 領導力的發展第七章 衡量工程效率第三部分 過程第八章 格式指南與規則第九章 程式碼審查第十章 文件第十一章 測試概述第十二章 單元測試第十三章 測試替身第十四章 較大型的測試第十五章 棄用第四部分 工具第十六章 版本控制和分支管理第十七章 程式碼搜尋第十八章 建構系統與建構哲學第十九章 Google 的程式碼審查工具第二十章 靜態分析第二十一章 依賴關係管理第二十二章 大規模變更第二十三章 持續整合第二十四章 持續交付第二十五章 運算即服務第五部分 結語後記
Test-Driven Development學習手冊 軟體架構指標|改善架構品質的案例研究 領域驅動設計學習手冊
購買紙本書