2008年4月8日 星期二

N08 開發系統與設計Component的差別

設計一個功能,是要解析出達成功能的所有動作,並將之以正確的順序串連起來。在時間急迫的專案裡必須以完成功能為優先,這時可以簡單地先寫出正確順序的所有動作而先不寫上完整的錯誤控制,等到測試階段再根據測試出來的錯誤補寫上錯誤控制。這是很好用的快速作法。

可以這樣做的原因在於專案的功能佈置最上層,除了少數幾個功能可能使用之外沒有任何程式使用,因此無論作什麼樣的改變都幾乎沒有影響。但是Component的設計卻絕對不能用這種走捷徑的方式,因為有非常多的程式使用Component,只要內部的設計有不正確的結果或是因為修正錯誤而改變,都會有多到難以估計的程式受到影響,根據理論所有被影響的地方都必須要重新測試過以保證正確。

有時使用其他元件時會遇到邏輯控制不理想的狀況,那時只能在自己程式的流程裡記錄現在動作的狀態,在後面的流程再判斷動作狀態的內容作對應的處理。這樣的繞路處理很像是在沒有設計好的主機板跳線來達成功能,是很不理想的設計結果。在之前使用swing與swt兩種UI元件時都曾經遇到許多這樣的現象。

設計Component的態度應該時時戒慎恐懼,一方面要努力思索提供足夠的Method應付全面的需求,另一方面要維持設計的品質與定義吻合且沒有錯誤,因為設計不良時微小的改變都會造成其他系統的大量變動。

沒有留言:

張貼留言