C 程式設計命名規範

2021-09-05 21:30:29 字數 1704 閱讀 8203

命名規範是乙個十分重要但有比較有爭議的話題,本文主要談一下我的體會並介紹一種較常用的c#命名規範。

匈牙利命名法

我最早接觸到的命名規範是匈牙利命名法,該方法出自微軟,基本上是一些在你的所有變數前建立乙個字首的規則。這個字首會說明那個變數的型別。其好處在於,通過它們的字首,你可以方便地知道兩個變數是否相容。這種方法非常流行,在目前的c和c++開發中還被廣泛的使用。

匈牙利命名法的不足

匈牙利命名法的最大的不足的地方就是繁瑣,隨著計算機的速度越來越快,ide已擁有足夠的能力,可以開始實時探測變數的型別。因此,當你程式設計時,ide能夠向你警告型別不相容的情況(通常普遍使用微軟word自動拼寫檢查中的紅色彎曲下劃線)。

匈牙利命名法過分強調型別,在泛型方法中就顯得格格不入。另外,很多時候我們關心的只是這個變數所代表的意義而不是它的型別。像c++0x的auto關鍵字(雖然這個關鍵字在c++98中就存在,但沒法用)和c#的var關鍵字也說明了這一點。在小函式或者lambda表示式這種比較簡單的流程的時候,過長的匈牙利變數顯得也很不合適。

其實主要的還是程式設計師懶惰心理作怪,但正是這種懶惰推動了計算機行業的不斷發展。就連微軟也逐步減少了匈牙利命名法的使用,在其當家語言c#中主要使用的是帕斯卡命名法和駱駝命名法。下面就簡單的介紹一下常用的c#命名規範。

c#程式設計命名規範

類class

pascal

方法function

pascal

介面inte***ce

pascal

總是以 i 字首開始,後接pascal命名

列舉型別enum

pascal

委託delegate

pascal

具體如下:

用camel規則來命名區域性變數和方法的引數,用pascal規則來命名方法和型別。

public

class

textbox

} string username;

public adduser(string userid,byte password);

介面的名稱加字首 i.

inte***ce

icompare

自定義的屬性以attribute結尾

public

class

authorattribute : attribute

自定義的異常以exception結尾

public

class

方法的命名。一般將其命名為動賓短語。

showdialog()

createfile()

getpath()

**的縮排。要用tab,而不要用space.

區域性變數的名稱要有意義。不要用x,y,z等等(除用於for迴圈變數中可使用i,j,k,l,m,n)。

所有的成員變數宣告在類的頂端,用乙個換行把它和方法分開。

用有意義的名字命名namespace,如:產品名、公司名。

生成和構建乙個長的字串時,一定要使用stringbuilder,而不用string.

始終使用""包含if下的語句,即使只有一條語句。

把相似的內容放在一起,比如資料成員、屬性、方法、事件等,並適當的使用#region…#endregion,

需要記住的一點是:程式設計規範的目的是幫助程式設計師寫出簡潔規範易讀的程式,但也沒必要過分被其所約束。

C 程式設計命名規範

c 程式設計命名規範 ps 根據多年工作經驗和其它命名規範整理而成,個人感覺比較規範的標準,現應用於我的開發團隊。檔名 函式名 變數名命名應具有描述性,不要過度的縮寫,型別變數是名詞,函式名是動詞或動詞 名詞。函式名必須是指令性的,非常普遍性的才用縮寫。c 檔案應以.cpp,標頭檔案以.h結尾,檔名...

細說C 程式設計命名規範

命名規範是乙個十分重要但有比較有爭議的話題,本文主要談一下作者的體會並介紹一種較常用的c 程式設計命名規範。ad 匈牙利命名法 我最早接觸到的命名規範是匈牙利命名法,該方法出自微軟,基本上是一些在你的所有變數前建立乙個字首的規則。這個字首會說明那個變數的型別。其好處在於,通過它們的字首,你可以方便地...

程式設計命名規範之 Google C 程式設計命名規範

大一的時候曾經特別關注過命名規範的問題,並且寫了乙個部落格總結了一些基礎的規範 三種程式設計命名規範 後來得知有一種命名規範叫做 go ogle c goo glec 命名規範的時候,特意看了一下,但是特別反感,感覺太糟糕了,所以就沒有深究過 我討厭壓行,這是我反感這個規範的最大原因。不過,現在我不...