2008-04-23 11:50 永遠不要預設程式語言或編譯器的可能行為,除非編譯器或編輯器是你寫的
我在論壇上看過很多的問題和回覆,總是會有預設語言或是平台 應該 要有或會有某種特定功能的說法,或是把警告訊息當兒戲的,例如:
http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=3219610&SiteID=14
這種思考是很危險的。
因為連原創者自己都不知道未來會有什麼樣的功能,但有些人總是未卜先知,或者是充當起原創者的角色,先幫他定義了應該要有的東西,事實上卻沒有這種東西存在,然後因為這種思維,在寫程式時碰到一堆釘子。
警告訊息也是一樣,為什麼編譯器要提供警告訊息,就是代表目前這個程式部份雖可以執行,但未來不代表它不會被移除或變更(例如警告變錯誤),如果硬要套用的話,就得自行承擔未來因為改版或修訂而造成異常狀況的風險(例如警告變錯誤,然後一堆程式之前警告都可以過,但變錯誤時過不了)。
因此在設計程式或系統時,寧可多花點時間去改正程式碼,把警告訊息完全消除,也不要去承擔這種無謂的風險。

