程式碼有個特色,可能人類一句話可以交待的事,但程式碼可能要用數十列來表達
看各學派命名規則也是很有趣的事,雖然有可能會像魯迅筆下的孔乙己一樣對「茴」字走火入魔,但我仍然是樂此不疲的欣賞著
各家語言對變數宣告的方式不太一樣,以 Delphi 為例,它的特色是把變數和常數進行分區,實際上寫起來大概會像下面表示:
procedure DoSomething;
var
ValueStr: String;
ValueInt: Integer;
begin
...
C# 的宣告方式和 C++ 一樣,在程式進行的過程中可自由宣告,實際寫起來會像下面表示:
static void main() {
int ValueInt = 0;
string ValueStr = 'HelloWorld';
}
如何宣告是有學問的,所以出現了以下學派:
- Pascal(駝峰式)命名法
- 匈牙利命名法
- 底線命名法
Pascal(駝峰式)命名法:
由一至多個單字進行命名時,首字大寫,例如:IsCalling, FirstName, LastName 等
匈牙利命名法:
以為型別或縮寫為變數首碼,例如:iNum, lYear, szTableName 等
底線命名法:
匈牙利命名法的變型,為了避免自己的命名單字與系統內建的單字混淆_ValueStr, _ValueInt 或是變化型 LValueStr, LValueInt 等
原以為我學習這些就已經夠用了,但沒想到我最近居然看到以下的命名法
音樂教室命名法:
Ut, Re, Mi, Fa, So, La, Si, Do
字母命名法:
a, b, c, d, e, f, g, h.....w, x, y, z
圖片來源 |
步步
D1, D2, d3, d4, D5, D6, D7, D8, D9, D10, D11, D12, D13, DXE, DXE2, DXE3, DXE4...(?)
每每看到這些變數命名法,有九成九都是趕鴨子上架的專案,會使用這些命名法的專案,可以想見,當時的戰況是非常慘烈
我現在除了當「碼農」之外,還兼著做「戰後清理」
再轉回去看看現在接手的專案程式碼……有首歌的歌詞是這樣的:
就在心裡畫一個 X (其實是好幾個 X )
良好的命名規則,是程式品質的保證
想知道工程師的能力好壞?命名規則就是一個強而有力的參考準則!
變數和欄位的命名可以大幅提高程式和檔案的可讀性
回覆刪除