2008年1月31日 星期四

J16 目標是讓開發系統的經過有條理地呈現

一個系統的完成,是從客戶原先心裡的初步想法開始,經過需求訪談、需求分析、系統分析、架構設計、細部設計與程式實作所完成的。

想法變成系統的過程是經過很多次的討論與嘗試後所得到的,只拿到一個知道最後怎麼做而不知道為什麼要這樣做的原始碼,實在有太多太多之前的想法與經驗無從得知。另外一個困難的地方在於面對一堆程式碼時,無法肯定想找的功能從哪裡進入,進入之後經過哪些物件與方法且各負責什麼樣的動作。

因為需求變更或解決問題需要修改時更是頭痛的問題,不管是物件或是方法的重構上頭都綁住許多的程式區段,抽動這個時可能應付這邊卻沒法肯定有哪些功能同樣經過這裡、是不是會受到波及而有side effect,重構後擺放的方式是否與原來設計者的想法相吻合……等等令人頭痛的事必須考慮;而這些現象在大多數的系統開發裡都是無解的。

對於程式設計者而言,知道問題的產生原因後就能夠思考出對應的解決辦法。我想在這裡表達的,就是一個在某種程度上能夠避免上述問題同時不致增加太多額外投入時間的設計規則。

沒有留言:

張貼留言