總瀏覽量

2011年11月24日星期四

【讀書心得】軟體構築美學:當專案團隊遇上失控程式,最真實的解決方案



  • 作者:Kyle Baley、Donald Belcham
  • 譯者:蔡煥麟、張簡才祿
  • 出版社:悅知文化
  • ISBN:9789866348785
文案:


歡迎來到真實世界!

要接管既有應用程式並不容易,我們往往因缺乏良好的程式撰寫習慣及專案管理經驗,而讓維護及改善變得困難。當你肩負著力挽狂瀾的使命時,除了被神選中的幸運,還有什麼方法可以幫助你從困境中重生?

■ 有效的應用程式版本控制方式
■ 持續整合與自動化測試對開發環境的重要性
■ 謹守並維持有效的程式撰寫原則及習慣
■ 從使用者介面到資料存取的重構模式來改善既有程式碼
■ 程式分層及降低程式依賴性,可有效改善棕地專案的瑕疵

本書將大部分專案團隊所面臨到的既有、且難以維護及改善的應用程式,稱為棕地應用程式(Brownfield Application),它具有三項特點:既有程式碼;因差勁的實務作法而造成汙染;仍有改善或重複使用的潛力。

如何重構棕地專案?將分別從「開發環境」及「程式碼」兩大部分來探討。關於「開發環境」,將說明版本控制(version control)、持續整合(CI)、自動測試及度量,以及瑕疵追蹤的重要性和作法。而在關於「程式碼」中,則會從技術面及實務面來說明程式所應具備的可維護性、可讀性、可擴展性、可逆性。此外,書中並補充許多真實案例及挑戰既有想法,除了讓你了解現實情況,並顛覆過去已被認為是常規但不正確的程式開發觀點,期待能陪伴開發人員從更多成功與失敗的專案經驗中成長。


===========================================================

看中文書名『軟體構築美學』,可能不太容易理解這是說什麼內容的書?這本書的原文書名是:『Brownfield Application Development in .NET』,書的內容針對的是 Brownfield Application 棕地應用程式的處理,Brownfield 指的是開發中的專案。針對正在進行、使中的專案改善專案的處理方法,另一部份是 .NET 書中提及的專案開發、使用的工具、程式語言都以 .NET 為主。

書裡的大範圍分成兩部份:

  1. 開發環境
  2. 程式碼

書裡提到的開發環境,不只是程式開發的IDE環境,也提供了版本控制的工具及方法;並且務實的指出在版本更新時必須注意的事項。例如:備份前必須在乾淨的平台中測試過,確認內容的可靠性再做備份,這樣中確實的建議。除了版本控制工具,測試工具以及測試軟體的建置撰寫方法,書裡也都提供了具體的建議。

程式碼的部份,其實還可以再區分成兩部份:一部份是很強調『物件導向』,希望專案開發者可以做到物件導向以及程式開發中的一些原則:

  • 可維護性
  • 可讀性
  • 可測試性
  • 擴充性
  • 可逆性:這個最有趣,可逆才表示程式可以像元件一樣拆解。
  • 調適性

除了對程式的結構的要求之外,也提出了一些這類書常看到的客觀建議。

  • Keep it simple, stupid : KISS (寫程式的應該都看過這句)
  • You ain't gonna need it : YAGNI
  • Don't repeat yourself : DRY (重覆的東西不要直接剪貼到其他地方一直用,很容易被忽略的大忌啊~)

處理完程式的內容,最後是對程式架構的分層要求,要求把程式階層做比較明確、清楚的切割別全部混成一團。

看起來是一堆很理論的東西,不過內容中列舉了很多實例,同時提供了很多中肯的建議,想要把混亂的專案處理好的人,參考這本書應該是不錯的選擇。

0 意見:

張貼意見

文章列表

追蹤者