2007年7月13日 星期五

C01 工程的設計圖

許多程式設計人員都認為系統只要執行正確,同時讓使用者知道怎麼操作即可;也因而造成設計時直接把想法變成程式,完全沒有將想法與經驗留下文字的記錄,進而造成其他接觸該系統的人只知道系統的反應現象而不知道為什麼得這樣反應?原因是什麼?

想像自己剛買一部新汽車,開了一陣子後感覺油路不順進廠檢修,維修人員說這個現象很可能是火星塞的問題,應該更換新的就好;可是他接著說不確定火星塞在哪裡,必須要把車子拆開來找才能確認。這時,你會不會吐血?再者,造物主創造出人類,人類很快地明白自己可以做出的動作並在有問題時作簡單的治療,但是我們用了多少時間在找出本身的構造、功能出問題的原因與食物對人的影響呢?

如果維修人員曾經看過汽車的構造設計,他可以立即知道火星塞的正確位置;如果創造人類時有留下結構圖、不同輸入時的影響與有狀況時的問題排除手冊,人類需要耗費這麼多時間去找出原始創造者的想法嗎?設計圖除了作為施工時的準則外,也是完成後除錯或增加功能時最有力的參考依據。

開發系統的人也常常直接做好系統後才撰寫系統開發的回憶錄,雖然同樣產出設計文件,但是這只是為了產出而產出。除了回憶出來的東西必然與實際系統有很大差距之外,文件裡也不可能正確註明某個功能的實現是使用了哪些元件與哪些方法的追溯,更不可能明白類別與方法是為了什麼原因而存在。與想法不能同步的文件,是白費功夫做出來也沒有人想看的產物。

沒有留言:

張貼留言