最近更新: 2007-04-25

Coding Style 會依語言而不同

Mr. Saturday 談到 Coding Style - 程式設計風格對軟體開發的影響 。其中提到了一位老朋友 - Hungarian Notation - 。中譯為「匈牙利命名法」。以現在的標準來看,匈牙利命名法很醜,變數名稱又臭又長。但它的存在有其特殊背景。匈牙利命名法在組合語言和 C 語言的 coding 場合其實非常好。它們沒有便利的 casting ,一個指標或一個整數沒什麼差別。不加個記號說明一下型態, coding 工作可要命了。我當年會把 struct 印成一張速查表貼在電腦螢幕旁。每寫一個符號,就瞄一下看看這變數是啥型態。若用匈牙利命名法,取一個 dwID 和一個 szID ,就可以減少不少錯誤。至少不會把整數(dword)的 dwID 當成字串指標;也不會把 szID 當成數值代號。

當然在C++或動態語言中,這種命名法就毫無意義了。大多數情形下會自動轉型,故 “1″ == 1 is true. 這又提醒我們一件事, Coding Style 跟程式語言的特性有關。不同的程式語言,因其語法特性不同,就會有不同的 Coding Style 。不必要硬套同一種 convention 。

我個人對 Coding Style 的要求頗為寬鬆。任何像我這種寫或維護過十幾萬行 C 語言程式碼、被 C 語言多樣而自由的程式風格荼毒過的程序員,應該都能適應各種怪風格。基本上我只要求三點。一、要縮排;二、以80個字元為寬度換行;三、變數命名方式一致。不過太寬鬆的結果,就是我有時會被視為常常寫怪 code 的那種人。

樂多舊網址: http://blog.roodo.com/rocksaying/archives/3059411.html