l

2013年10月14日 星期一

Implementation Patterns的優缺點

Oct. 10 11:24~12:56

螢幕快照 2013-10-03 下午10.20.21

 

博碩出版社準備出版《Implementation Patterns》的正體中文版,請Teddy幫忙寫個推薦序。有幸能夠幫大師的書寫推薦序當然是非常高興的一件事,這本書的中文版《Kent Beck的實作模式》已經出版了,一本定價才320元,身為程式設計師的鄉民們很應該買一本或借一本來讀一下。

剛剛上Amazon看了一下,本書獲得3.5顆星的評價,今天想要談一下Teddy對此書的看法。

螢幕快照 2013-10-10 上午11.46.07

螢幕快照 2013-10-10 上午11.47.10

***

優點

先說一下這本書的幾個優點:

  • 想法溝通:本書的前四章,雖然只有短短的20頁(英文版),但卻是作者關於programming這個活動本質看法的解說。尤其是第三章提到的Values與Principles,這些基本的核心價值與原則如果可以牢記於心,對寫出好的程式有非常大的助益。
    • Values:
      • Communication
      • Simplicity
      • Flexibility
    • Principles:
      • Local Consequences
      • Minimize Repetition
      • Logic and Data Together
      • Symmetry
      • Declarative Expression
      • Rate of Change
  • 整理與探討程式設計的基本元素:本書用Pattern的方式整理出77個程式實作模式,這些模式探討類別、狀態、行為、方法(method)等寫程式時一定會遇到的基本元素。乍看之下好像沒什麼學問,但仔細一想在學習程式語言的過程中,這些基本觀念卻鮮少被提及。本書不是在「語法」層面做文章,而是從實作層面的設計的角度,來分析不同程式寫作的Pattern,以及這些Pattern之間彼此的競合關係。舉個例子,Interface與Abstract Class有何不同,何時應該使用Interface,何時應該使用Abstract Class?請看本書第五章。
  • 以Java語言當作例子:在1997年的時候Kent Beck出版了《Smalltalk Best Practice and Patterns》這本書,內容與寫作風格和《Implementation Patterns》非常接近。Smalltalk這本書Teddy在2002年的時候買了一本,但是Teddy沒學過Smalktalk,看例子的時候有種「隔靴搔癢」之感。《Smalltalk Best Practice and Patterns》出版後的11年(2008年)《Implementation Patterns》出版,此時書中的例子已經改成Java,對Teddy而言讀起來輕鬆不少。又經過5年,中文版的《Kent Beck的實作模式》才出版,從1997年算起,也已經過了16年了啊不要告訴別人

 

缺點

從「容易閱讀與理解」的角度來看,這本書有兩個主要的缺點:

  • 敘述稍微過於抽象:本書英文版150幾頁要介紹77個實作模式,扣掉前四章與參考資料,平均約1.5頁就要介紹一個實作模式,所以書中的敘述都非常的「精簡洗鍊」,有一種惜字如金的感覺。不少句子要仔細咀嚼之後才能體會箇中精妙之處,如果吃得太快一不小心還會「噎著」,喘不過氣來挑眉質疑
  • 缺少較為詳盡的例子或Known Uses:文字敘述精簡,但如果有一個好的例子,或是舉出每一個實作模式的Known Uses,這樣讀者也比較容易從例子中來反推文字的涵義。當然書中是有不少的程式範例,但與文字敘述一樣,這些程式範例也都很「精簡洗鍊」,相信不少讀者會覺得「分量太少,有種吃不飽的感覺挑眉質疑

***

英文版定價49.99美元,Amazon打折之後也還要31.49美元,而且買回來之後英文還看不太懂挑眉質疑。中文版的售價只有英文版的1/3還不到,也算是有反應出台灣和美國的國民所得差距,沒有隨意哄抬物價,光這一點就應該先按個讚很棒

***

友藏內心獨白:看不懂也要買一本回家放著啊。

1 則留言:

  1. 中文版好像都沒賣電子書,已經不太想買實體書了... 囧

    回覆刪除