2008年10月15日 星期三

R15 工程首重精確(3)──建立通用原則

在介面的定義中我會分為兩個大層:一層是系統分析(SA)定義的,一層是系統設計(SD)定義的。介面的方法是遵循的是完成功能的逐步分解動作所設定,在分析設計時應儘量保持使用的層次與意義的完整。

從介面的存在所切分的兩層來看是截然不同的世界:從使用介面的角度來看,只需要知道介面方法提供了什麼功能、要怎麼使用;從實作元件的角度來看,則僅要努力達成規定的結果而不用管上層如何使用。在一般的文章裡大多都教我們將介面下的實作元作視為黑盒子,不用花太多心思在裡面,但是在撰寫與維護那些黑盒子時總不能跟經手的人說那本來就是黑盒子吧?

如何讓大家快速知道其他人的設計理念是增進團隊產能的捷徑,在目前各自為政的設計之下,每個人做出來的元件都有不同的風格,現在連看懂都很困難更何況是維護。在無法通盤瞭解別人所寫元件的同時,只能依據自己的想法另寫新程式碼來異動而盡量不去動看不明白的地方。

專案裡需要一個記錄用的序號產生功能,設計者為了讓多台電腦同時取用都能正常,寫了100行左右無任何說明的程式碼,但是接手的人看不懂為何要這麼多行而另外使用簡潔的寫法。最後在多伺服器同時取時果然出現了同號問題。這該算是誰的錯誤呢?

物件的擺放如果可以規定擺放與存取的規則,設計的流程如果可以規定出寫作與放置的標準,那麼所有人在第一次拿到別人所做的元件時都能夠立即曉得怎麼開始。黑盒子裡的好壞左右了使用它的程式成敗,如果專案裡的元件都沒有人可以弄懂別人負責的部分,這怎麼可能有團體效率可言呢?

精確的資料存放與步驟流程,就如同大公司貫徹的SOP一樣是維持品質與效率的最大訣竅。

沒有留言:

張貼留言