荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jek (Super Like Cat), 信区: Program
标  题: 完美程式設計指南--結尾:何去何從?
发信站: 荔园晨风BBS站 (Thu Apr  4 07:03:18 2002), 转信

本書就快結束了。你大概會懷疑,我真的相信人們寫得出零錯誤程式嗎?答案,當
然是不,而且我絕對不相信人們作得到。可是我相信你能夠寫出相當接近零錯誤的
程式,比你現在所能做到的更接近零錯誤的境界。對房子裡的房間,你可以選擇要
漆上顏色的地方而保持不要上新漆的地方原封不動的,可是你得先在上漆前脫下衣
服,貼好護板,小心在護板範圍外的牆上漆上你想要的顏色。如果你不想讓油漆到
處亂沾,你就一定得耗上一番功夫控制好上油漆的動作。同樣的,要讓臭蟲遠離你
寫出來的程式,你也得耗上一番功夫。而且只有下定決心了,你才會去下這番功夫


即使你將寫出零錯誤程式列為優先要事,你也不能光靠本書中傳授的技巧,你不可
能光靠別人的指示就寫出零錯誤程式。重要的是你要省思自己如何在未來的日子裡
找出錯誤或避免你碰到過的錯誤繼續出現在你的程式中。你思索得到的結果可能會
讓你自己大吃一驚,就像我也曾經發現過原來我過去的做法會帶來問題一樣。

有一次我在檢查一個Microsoft Excel原始碼主檔時,不小心刪掉了一行程式,造
成重新計算引擎中出現一個嚴重而隱藏著的錯誤。我沒發現我的失誤,而我寫的一
個功能連同這個錯誤一起更新進了原始碼主檔中。最後有人找到了這個錯誤,並發
現是我刪掉的那行程式造成這個問題。當我反省我該怎樣找出類似的問題或避免同
樣的錯誤再度發生時,我得到一個清楚的答案:在我把修改的東西更新到原始碼主
檔以前使用原始碼控制管理程式找出我作了哪些修改。這額外的步驟作起來不花什
麼時間,在我開始那樣作之後的五年裡,原始碼控制管理程式幫我抓到了三個嚴重
的錯誤跟一大堆我改了程式後忘了還原的小修改。花了這些功夫,五年裡才抓到三
個嚴重的錯誤,值得嗎?是的,對我來說是值得的,因為那麼作不用花什麼時間,
而且我知道如此一來就不會讓什麼改錯的東西出現在原始碼主檔案中。再一次的,
你得決定讓錯誤免於出現在程式中的優先與否。

你會發現檢查程式有助於解決你的問題,幫產品寫出內部工作用的更好文件對避免
錯誤也有所幫助。如果你沒用程式單元測試的做法,也許你應該開始這麼做。你甚
至會發現值得特別加上一些除錯碼對幫你測試程式的人會有所幫助。

現實上,你永遠不能完全將程式中的臭蟲消除掉,可是你能夠持續努力避免每個你
碰到的錯誤再次出來,讓錯誤出現的機率大幅降低。為了幫你省下一些功夫,我在
附錄A提供了一份涵蓋本書中最重要的一些準則的程式寫作檢查表。

成功寫出零錯誤程式的最後關鍵在於最後一條準則:


------------------------------------------------------------------------
--------

不二過。

不要犯下相同的錯誤。




--
 === I love Puss forever ===

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.1.241]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店