2011-08-24 36 views
0

我是一位在C和C++中擁有豐富背景的老派程序員。我從來沒有一個微軟,我曾經使用Turbo C和Borland C++。.NET應用程序的可接受命名約定

我總是使用描述性變量名稱,常常是相當長的名字,以及匈牙利語法。

我已經強迫自己擺脫匈牙利的符號,但仍然留有餘留留在我的命名。請告訴我,如果以下將被視爲良好的命名。

// Variables 
    bool fResult;   // Boolen used for return value 
    String strLastName;  // A persons last name 
    List<String> listNames; // A list of names 
    int nIndex;    // An index 

我注意到微軟喜歡真正的通用名稱,比如e和obj。這只是不適合我。

此外,對於類變量,例如,我已經爲名稱_strLastName採用了下劃線前綴。

+0

你沒有解釋你的編程什麼上下文。是否你寫的代碼,將是開源?這段代碼是否總是由你自己來維護?什麼是「可接受的」可能差別很大。 –

+0

這是一個意見問題。更好的是,你和你的團隊同意始終保持的標準。 –

+0

這是一個內部的非開源應用程序,由團隊維護。我是最初的開發人員,但其他團隊成員將開始使用並維護它。 – WPFNewbie

回答

1

大部分C#代碼我一般見如下這些約定:

成員變量:

private string _firstName; 

屬性:

public string FirstName {get;set;} 

功能和方法參數:

public string WelcomeMessage(string firstName) 

類:

public class Repository 

接口:

public interface IRespository 
在功能

局部變量:

var firstName = "Jahova"; 

但是上面指出的 - 它沒有太大的關係 - 只要每個人都同意並且您不會以1個代碼庫中的10種不同風格結束...

另外,對於它的價值,MS guidan ce使用匈牙利符號:

不要使用匈牙利符號。

http://msdn.microsoft.com/en-us/library/ms229045.aspx

+0

謝謝你的回覆。我想我想符合一套新的標準,現在微軟似乎已經成爲公認的標準。我永遠不會用Class來加我的課程。 FxCop抱怨使用類似字符串的字作爲類後綴。我有一個它抱怨的變量conditionString。我喜歡「字符串」,因爲我有條件類,可以序列化爲一個字符串,並希望清楚它是否是一個序列化的字符串對Condition類的引用。 – WPFNewbie

+0

ahhh,對不起 - 你不應該加上課後綴..當討論這些東西時,不好選擇類名:)將會改變 – Paul

0

說實話,編碼約定是每個人獨有的,團隊或組織。所以,如果你一個人工作,然後找到你感覺舒服的東西並堅持下去。

如果你在一個團隊中工作,那麼你和你的團隊的其他成員應就您所使用的編碼約定。

如果你在一個更大的組織工作,然後有機會,有一些會在你被徵收編碼慣例。