現在,「軟體構築美學:當專案團隊遇上失控程式,最真實的解決方案」這本書提供我們面對上述這類「棕地應用程式」應該如何處理。所謂棕地(brownfield)這個詞彙是借用建築領域中的定義:
棕地土地(簡稱棕地),主要是用在工業上或商業上的一塊土地,並且這塊土地可能被低濃度的放射性物質或危險的廢物所污染,一旦清除這些污染,有可能將再次的重新使用。
棕地應用程式(Brownfield Application)指的是一個既有的軟體專案,此專案可能因為用了一些不好的開發方式、結構、或設計而產生許多問題,但若經過仔細的整理和重構(refactoring),還是有機會繼續發展使用。棕地應用程式包含三個基本元素:(1)既有程式碼、(2)差勁實務做法所造成的污染、(3)仍有改善或重複使用的潛力。
注意到「棕地」不同於「老舊(legacy)」應用程式,棕地介於「綠地(greenfield)」與老舊之間,綠地應用程式沒有舊專案或技術的歷史包袱,而棕地應用程式通常有很沉重的,至於老舊應用程式則是處於維護不開發。有了這些概念之後,就會清楚瞭解這本書主要想說明什麼內容了。
「軟體構築美學」總共13章,分成開發環境(The ecosystem)和程式碼(The code)兩個部分,一個開發人員面對的不外乎這兩個範疇。第1章是介紹棕地應用程式,後續幾章則說明棕地應用程式在這兩個範疇中有哪些痛點(pain point)和解決方法。
- 第1章,認識棕地應用程式(Understanding Brownfield Applications)
- Part 1 開發環境(The ecosystem)
- 第2章,棕地專案的版本控制(Version Control in Brownfield Applications)
- 第3章,持續整合(Continuous Integration)
- 第4章,自動化測試(Automated Testing)
- 第5章,軟體度量與程式碼分析(Software Metrics and Code Analysis)
- 第6章,瑕疵管理(Defect Management)
- Part 2 程式碼(The code)
- 第7章,在專案中導入好的物件導向實務(Bringing Better OO Practices to the Project)
- 第8章,應用程式的重新分層(Relayering Your Application)
- 第9章,鬆散一些:降低程式碼的依賴性(Loosen up: Taming your Dependencies)
- 第10章,重整使用者介面(Cleaning up the User Interface)
- 第11章,重構資料存取(Refactoring Data Access)
- 第12章,管理系統外部的依賴(Managing External System Dependencies)
- 第13章,持續改善(Keeping the Momentum)
###
沒有留言:
張貼留言