
第五章
基礎程式的過往陰魂
我將為過去、現在,及未來而活。
在我心中,將為這三者的精神而努力。
我將不會抗拒它們教導的課程!
- Charles Dickens
A Christmas Carol
懷舊並非停滯不前。舊的程式碼也是如此。誰知道在你很久以前的作品中,潛藏多少功
能小鬼及排版惡魔?當你在寫它們的時候,認為它們是完美的,但是當你用挑剔的眼光
掃視舊程式,難免會發現各式各樣的程式碼陷阱。
程式員,作為一個物種,會努力邁步向前。我們都喜歡學習新穎、讓人興奮的技術,來
迎接新的挑戰,並解決更有趣的問題。這是天性。考慮就業市場的高替換率,以及編程
合約的平均期限,很少軟體開發者會長時間持續使用相同的基礎程式碼,這個事實並不
讓人感到意外。
但這跟我們寫的程式碼有什麼關係?什麼樣的態度可以提升我們的作品?我覺得,出色
的程式員會認為他們編寫的程式碼及編寫方式比實際的程式碼本身還要重要。
一般的程式員比較不會長期地維護他們自己的程式碼。這次我們不是在自己的排泄物中
打滾,而且去別的牧場,在別人的排泄物中打滾。很棒!在涉及利益時,我們甚至會讓
自己的“寵物專案”半途而廢。
當然,抱怨別人的爛程式是一種樂趣,但我們會輕易地忘記自己的作品有多糟糕。而且
你從來都不會故意地寫出劣質程式,不是嗎?