2009年3月6日 星期五

U02 Project的佈置問題

經手維護的產品是Client-Server架構的,在初期的規劃裡只在垂直層面切割Project,Client與Server的程式則放置在同一層的Project裡。在專案裡的Client程式是由Server派送的,客戶總會抱怨為什麼改Client程式為什麼連Server的東西也要下傳?這就是因為對應的意義不同而取用到不需要的東西。

後來將程式碼分割為Client與Server兩個Project,終於解決了客戶在意的流量問題,但是在這樣的佈置下發現Client與Server間共用的程式碼在兩邊都各有一份,久而久之又爆發了程式碼不一致的狀況。最終再把共用程式碼抽取到另一個Client+Server Project後終於解決了這些問題。

公司另外有一個週邊管理程式,程式碼與建立安裝的環境放置在device這一個Project裡,初期能夠應付所有的需要而沒發現有什麼不對。後來在其他專案需求裡的週邊需要調整程式碼的架構寫法,那是與之前設計有不相容之處的,結果只好複製成兩個Project各自維護。在這個案例中可以發現,環境設定應該另外放置在一個Project裡。

Project的佈置也必須根據其存在的意義(使用意義、使用場所)加以設計,以免因為意義的混淆而多出了許多額外的東西造成負擔。同時也要建立Project的使用關聯作為追溯之用。

沒有留言:

張貼留言