2007年12月18日 星期二

I02 eXtreme Programming的潛在問題

XP的開發方法論,由於強調是輕快與應變,註解只要寫在程式裡即可,所以受到很多人的推崇。XP強調4項價值觀和12條實踐法則,著重在功能設計與測試,並經由不斷地改變與整合保持系統的正確運作。不過支持者是因為這樣做不用寫文件而開發較快,或者是真正遵循它的設計理念而採用就有待商榷。我所看到較大的潛在問題點有以下幾個,也因此不偏好用XP開發系統。

設計者的功力會決定系統的架構。設計層次概念不夠好的人想到什麼就做什麼,極易造成結構的混亂。雖然可以透過回饋與重構來調整,不過架構先天不良時的重構,與我們現在亂寫一通再調整似乎沒什麼差別。

程式中留下註解的質與量是否足夠讓別人看懂?沒有文件的狀況下,所有說明資訊只能依靠口授與註解。嘴巴說的大家可能很快就忘記,寫下來的是不是別人想要知道的呢?

重構時提取的共通部分,是否確保定義了動態抽換的介面?很多時候為了求快,使用物件時就直接用了,等到後來發現那裡應該要做成可擴充的介面時,又得動一大堆程式。而且程式只要一動就有可能出現Side Effect。

測試要怎麼測才算完整?測試的內容根據的是什麼?測試若太含糊勢必會留下很多錯誤,每次出錯就得修改再測;要是測試的內容定義的漏洞很多,將又可能是一個縫縫補補的大漏洞。

沒有留言:

張貼留言