命名規範是乙個十分重要但有比較有爭議的話題,本文主要談一下作者的體會並介紹一種較常用的c#程式設計命名規範。
ad:
匈牙利命名法
我最早接觸到的命名規範是匈牙利命名法,該方法出自微軟,基本上是一些在你的所有變數前建立乙個字首的規則。這個字首會說明那個變數的型別。其好處在於,通過它們的字首,你可以方便地知道兩個變數是否相容。這種方法非常流行,在目前的c和c++開發中還被廣泛的使用。
匈牙利命名法的不足
匈牙利命名法的最大的不足的地方就是繁瑣,隨著計算機的速度越來越快,ide已擁有足夠的能力,可以開始實時探測變數的型別。因此,當你程式設計時,ide能夠向你警告型別不相容的情況(通常普遍使用微軟word自動拼寫檢查中的紅色彎曲下劃線)。
匈牙利命名法過分強調型別,在泛型方法中就顯得格格不入。另外,很多時候我們關心的只是這個變數所代表的意義而不是它的型別。像c++0x的auto關鍵字(雖然這個關鍵字在c++98中就存在,但沒法用)和c#的var關鍵字也說明了這一點。在小函式或者lambda表示式這種比較簡單的流程的時候,過長的匈牙利變數顯得也很不合適。
其實主要的還是程式設計師懶惰心理作怪,但正是這種懶惰推動了計算機行業的不斷發展。就連微軟也逐步減少了匈牙利命名法的使用,在其當家語言c#中主要使用的是帕斯卡命名法和駱駝命名法。下面就簡單的介紹一下常用的c#程式設計命名規範。
c#程式設計命名規範
具體如下:
1.用camel規則來命名區域性變數和方法的引數,用pascal規則來命名方法和型別。
public2介面的名稱加字首 i.class textbox
}
string username;
public adduser(string userid,byte password);
inte***ce icompare3.自定義的屬性以attribute結尾
public4.自定義的異常以exception結尾class authorattribute : attribute
public5.方法的命名。一般將其命名為動賓短語。
showdialog()6.**的縮排。要用tab,而不要用space.createfile()
getpath()
7.區域性變數的名稱要有意義。不要用x,y,z等等(除用於for迴圈變數中可使用i,j,k,l,m,n)。
8.所有的成員變數宣告在類的頂端,用乙個換行把它和方法分開。
9.用有意義的名字命名namespace,如:產品名、公司名。
10.生成和構建乙個長的字串時,一定要使用stringbuilder,而不用string.
11.始終使用""包含if下的語句,即使只有一條語句。
12.把相似的內容放在一起,比如資料成員、屬性、方法、事件等,並適當的使用#region…#endregion,需要記住的一點是:程式設計規範的目的是幫助程式設計師寫出簡潔規範易讀的程式,但也沒必要過分被其所約束。
關於c#程式設計命名規範的內容就講到這裡,希望大家喜歡。
C 程式設計命名規範
c 程式設計命名規範 ps 根據多年工作經驗和其它命名規範整理而成,個人感覺比較規範的標準,現應用於我的開發團隊。檔名 函式名 變數名命名應具有描述性,不要過度的縮寫,型別變數是名詞,函式名是動詞或動詞 名詞。函式名必須是指令性的,非常普遍性的才用縮寫。c 檔案應以.cpp,標頭檔案以.h結尾,檔名...
C 程式設計命名規範
命名規範是乙個十分重要但有比較有爭議的話題,本文主要談一下我的體會並介紹一種較常用的c 命名規範。匈牙利命名法 我最早接觸到的命名規範是匈牙利命名法,該方法出自微軟,基本上是一些在你的所有變數前建立乙個字首的規則。這個字首會說明那個變數的型別。其好處在於,通過它們的字首,你可以方便地知道兩個變數是否...
程式設計命名規範之 Google C 程式設計命名規範
大一的時候曾經特別關注過命名規範的問題,並且寫了乙個部落格總結了一些基礎的規範 三種程式設計命名規範 後來得知有一種命名規範叫做 go ogle c goo glec 命名規範的時候,特意看了一下,但是特別反感,感覺太糟糕了,所以就沒有深究過 我討厭壓行,這是我反感這個規範的最大原因。不過,現在我不...