2009年10月10日 星期六

Y05 都只是為了完成功能……

對程式設計人員來說,被要求的結果就是要寫出能達成需求的程式碼,而最尋常的情況就是遵循最簡單的道理:產出一堆可以完成功能的程式碼交差。暫且不管程式碼對於功能是否有多餘的設計、也不管程式流程控管的處理是否完善(這些是程式碼與功能的內容對應),光是“程式碼為可見之物”這個事實就會衍生出一些管理的事。



就像作文一樣,看到題目之後心裡就要先有文章的架構鋪陳;功能明確之後同樣會有執行的順序。如同作文時的擬定大綱,設計程式也需要概略描述達成功能的過程。作文的大綱完成後要開始逐段、逐句、逐字寫出文章,程式碼的產出也是如此;其中的差別在於作文強調的是從頭到尾、一氣呵成的感覺,寫程式除了這個感覺之後還有逐步的例外處理。

寫出程式後需要經過測試來精確地保證功能可被達成,測出錯誤會使得程式碼有再次的修改,每次修改都會有版本的記錄;每個版本各修改了哪些地方,造成什麼影響都必須要能迅速查詢到。怎麼佈置、怎麼撰寫、如何保證與如何管理,是因為有程式碼的存在所連帶產生的四件事情,標準化的做事會有方法與準則,這意味著還要定義出至少四組的做事方法與做事準則。倘使做這些事的過程裡需要有其他的物(工具)協助時,還會再衍生更多的事……。

只是為了達成一個功能,在產生程式碼的過程需要考慮很多其他的事,可以想見如果沒有全面性地看待而只注重在如何完成功能,就會造成除了執行正確之外的全部都有潛在的問題。雖說完成功能是最終目標,然而考慮程式時常被修改的特性後應同時注重其他方面的要求。

沒有留言:

張貼留言