2008年10月13日 星期一

R13 工程首重精確(1)──最佳化與範圍

我覺得精確才是工程的意義所在。為了達到某個目的而設計了一組最佳化的動作,精確且快速地達成應該要做的事;而在執行該組最佳化的動作時,所有可能使用到的資源也需精確地定義。

開發系統的時候都會使用Library,這些Jar File都有使用的時機點。在Client與Server架構下,有時沒有明確地定義而把許多檔案都一鼓腦兒地放在一個資料夾裡,說是整個資料夾都使用就保證系統一定可以動。但是客戶會感覺Client的資源過於龐大,多了很多不知道有沒有用的Jar File,不刪覺得需要瘦身但是又怕誤刪了一個造成系統出錯。(正確的作法應把Jar File放置在三個資料夾:Client、Server與C+S共用)

根據功能需求上的意義定義出應該做的對應動作方法應該也要是精確的。如果一個動作沒有清楚的定義,那表示該動作內的一組程式碼或更內部的API會露出在更上層,同時也意味著其他功能中要做那個動作時很可能沒有固定的使用方式。沒法精確地定義與定位使用的動作,就會造成從不同方向去看待時會有更大的機會發生錯誤。

定義出功能使用的程式與資源,也有利於未來想要抽出功能到其他地方使用時能夠精確地取出應用的區塊。倘使只為了完成系統的全部功能而設計,那麼往後根本無法定位出指定功能所必須的範圍。這也正是現在許多專案系統裡很普遍的結果。

沒有留言:

張貼留言