能夠寫的又快又好, 是多數程式設計師的目標.
但如何達到這個目標呢?
要談Software Architecture,Prerefactoring或
Refactoring,Design Pattern等議題,我想有很多.
但是回歸基本面吧!
一個Class,一個method或function,哪怕是一小段
instruction, 要寫的好都需要一些心思.
所謂的好與有品質,我認為不外乎是:
- 易於維護
- 具有錯誤控制與容錯的處理
- 效能好
其中, 易於維護是門大學問.而第二與第三點較具體,
也較容易描述與理解.
以第二點來說,小至配置記憶體,大至開資料庫的
Connection,如果用"義和團式的程式撰寫"思維來
做的話,常常就會遇到莫名奇妙的情形.尤有甚者,
有些人只管當下盡速"完成"程式,因而草率的假設
系統/元件/模組的Input/Output資料一定是合法的,
後果往往不堪設想(諸如資料錯誤,無窮迴圈,記憶體
不足,系統Crash).當遇到這種義和團式的人,往往讓
人很無力.
至於第三點的效能,這就牽扯到演算法與對程式syntax
的理解能力了.努力做出效能良好的軟體,我想是程式設
技人員的職業道德,也是尊重自己職業的表現吧! 但,
比較起來,第二點我認為影響層面遠高於到三點,效能
可以tune,但錯誤造成的影響,往往遠大於效能帶來的
問題.
此外,開始寫程式之前,事先的規劃與設計,還有了解
系統的各項需求與限制,是非常重要的.如果不了解
系統的重點與限制所在,便開始胡亂寫,很可能會造成
重寫,或者是維護性低落的後果.
沒有留言:
張貼留言