2007年6月1日 星期五

A03 程式註解的習慣

1997年的某一天,上班後我照例開啟了當時以C語言開發的。那是一隻已經幾千行的主程式,宣告的變數大約近百個。這時候的我仗著年輕氣盛,同樣只把功能寫進程式而完全沒有註解的模式,至今從來沒出任何差錯過。

忽然之間,程式追到一個很眼熟的變數,可是我一時之間對它卻沒有回憶。我不死心地向下與向下搜尋,試圖從呼叫的串連裡找到宣告它的意義;然而我忙了半個工作天,還是完全沒法子喚起對它的記憶。

科學家已經證實,“忘記”並不是失去,僅是一時間腦海裡沒法搜尋到該事物的記憶。但半天之後,我已經沒有耐性等待記憶鏈結的回復;我耗費了一天半的時間找出所有變數為什麼會宣告的原因,並將之填寫在該變數旁的註解裡。從此之後為避免遺忘,我養成了隨手輸入簡短註解的習慣。

人應該為自己做過的事負責,在軟體工程裡包括解釋自己曾經寫下過的所有程式碼。當旁人問說:“這段程式為什麼這樣寫?”或者“這段程式做了什麼事?”時,回答忘了或我看一下程式再回答,都是沒法負起責任的行為。

我們沒法時時刻刻記得曾經發生過的大小事件,在當下記錄想法成為註解,是一個即時讓人明白你曾經做過事情想法的最佳方式,而且你還不用花任何時間說明喔。(相信我,當你接連被不同的人詢問同一段程式的寫法或意義時,所耗費的時間遠超過你花在寫簡單註解的)

沒有留言:

張貼留言