2008年4月29日 星期二

O09 我的設計準則(3)──絕對重用

設計程式的人都知道,同樣目的的重覆程式碼應該抽取到同一方法裡作為重用。重用的好處主要是讓同樣目的的程式碼只有一份,在使用時有固定的用法且在修改時只需要修改一個地方就能改變全部。

在理想的設計裡應該抽取相同層級內相同目的的物件,不管是類別、方法或是常數,而不要包含不同層次的東西。在抽取方法的的時候,有時會有幾乎相同但有少許差異的地方,這時可把差異的部分用參數區別並在程式中判斷,如此就可以使用相同的程式碼。

對系統而言,特定方面的功能都集中在一個元件;對元件而言,六種類型的類別各自掌管屬於自己的行為;對方法而言,同樣的動作都抽取到同一個方法;對資料而言,使用的常數全部要定義在固定的介面裡。每一個可以抽取的地方都應該確實地實行,否則同樣目的的程式碼在系統裡到處都存在,會變得難以有固定的用法與切實的維護。

在相同使用層級的視界裡,努力把聚合力高的的共同部分抽取重用,是現在堅持的準則。檢視方法定義的所在位置是否正確與不應該存在兩份以上的相同目的程式碼或物件,是review設計的主要方向。

沒有留言:

張貼留言