2007年12月28日 星期五

I12 用程式實現特定功能易

回想起2001年第一次用Java寫出公司需要的系統時,功能全部都符合需求,但是被評論為裡面寫法跟C語言差不了多少。那時連SCJP都沒通過,觀念不清楚的情形下寫得亂七八糟是可以預期的;但這也表示即使是亂寫,也是可以寫出堪用的系統。

用程式實作已知的功能比較簡單,因為功能與動作都是固定的,只要明白功能想做的事就有法子“組裝”出想要的模樣;即使寫錯也沒有大礙,頂多砍掉重寫這一塊便是。在求功能正常與開發快速而不注意影響與變更的前提,可以說任何一個人都能把系統做出來。

只是以這種思維去開發系統,得到的程式碼很可能品質參差不齊、沒有經過適當的測試同時也沒有記錄使用上的追溯。在程式包含太多功能的邏輯又分布在與功能相關的Class中,這表示該元件已經被特殊化,很難適用在其他只有些微差異的類似需求上。此時Copy-Paste就會出現,生成另外一組程式碼再直接修改內容去套用新需求。空有一大堆程式碼,卻沒法把相關的需求封裝在同一組程式碼裡。

僅注重眼前功能的實現,是造成系統程式僵化的最大原因。

沒有留言:

張貼留言