軟體工程實踐 封面
Clean Code Testing Git Engineering Culture

軟體工程實踐

📘 深度概覽

資料來源與整理脈絡#

本儲存庫整合多個經典工程實踐來源:在程式碼匠藝(code craftsmanship)部分汲取自 Clean Code、Refactoring、設計模式(Gang of Four)與 Google 工程實踐;在測試領域結合測試金字塔、案例設計方法論等通用知識,並以 Kuma 的「30 天 Unit Test 手把手教學」作為 Java 單元測試的深度實戰補充;Git 部分則聚焦於三區模型與物件結構等底層原理。整理脈絡刻意以「與語言無關的工程實踐」為主軸,組織與領導層級的工程文化議題則另列於 tech-leadership-product 儲存庫,使本庫專注於可立即落地的技術匠藝。

完整摘要#

全書分為三大模組。程式碼匠藝涵蓋八個主題:從命名與註釋等程式碼規範(並以 GoToFail 漏洞為負面教材),到 SOLID、KISS、YAGNI、DRY 等設計原則,再到 23 種 GoF 設計模式(創建型、結構型、行為型);接著進入重構(何時/重構什麼/如何安全重構)、程式碼安全(整數運算、序列化、縱深防禦)、程式碼經濟(記憶體與非同步效能最佳化),最後落在 Code Review(Google 實踐、檢查清單)與技術債務管理(識別、優先級、還債策略)。軟體測試有七章:測試基礎(測試金字塔、等價類劃分、邊界值)、自動化測試(Mock 與 Stub)、效能測試(負載與全鏈路壓測)、安全測試、測試實踐(環境與資料管理、CI/CD 整合)、品質保障(靜態分析、安全左移、事故檢討),以及最具份量的 30 天 Java 單元測試深度章節,依序走過基礎、依賴控制、邊界情境、重構技法、TDD、Clean Architecture 分層(Controller/Service/Entity/Repository、CQRS)與 GitFlow/主線開發等工程流程。Git 精通目前以三區模型、commit/tree/blob 物件結構、分支與 rebase、reset 與 revert 的差異等核心概念為主,後續會擴充 GitHub 工作流與 GitLab CI/CD。

適用情境與閱讀路徑#

適合資淺到中階工程師補強基本功,也適合資深工程師建立團隊規範。建議路徑:(1) 想紮穩底子者依序閱讀程式碼匠藝 ➡️ 軟體測試 ➡️ Git 精通;(2) 想立刻改善現有程式碼品質者,直接切入重構與 Code Review 兩章,搭配技術債務管理章節決定還債順序;(3) 想把單元測試從「會寫」升級到「會設計」者,直攻 Java 單元測試 30 天深度章節,並回頭對照重構與 Clean Architecture。讀完應能帶走一套可重複使用的程式碼品質檢查清單、測試策略決策框架與 Git 操作心智模型。

知識架構總覽#

模組說明章節數
程式碼匠藝規範、設計原則、設計模式、重構、安全、效能、Review、技術債8
軟體測試測試基礎、自動化、效能、安全、實踐、品質保障、Java 單元測試7
Git 精通版本控制與團隊協作1

此儲存庫聚焦於 與語言無關的工程實踐。組織與領導層級的工程文化請見 tech-leadership-product 儲存庫。

閱讀建議#

  1. 資淺工程師:從程式碼匠藝出發,搭配軟體測試與 Git 精通,建立工程基本功。
  2. 想提升程式碼品質:重點閱讀程式碼匠藝與軟體測試。
  3. 想紮實寫 Java 單元測試:直攻 軟體測試 ➡️ Java 單元測試(30 天深度章節)。