2011-08-24 59 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

说实话,编码约定是每个人独有的,团队或组织。所以,如果你一个人工作,然后找到你感觉舒服的东西并坚持下去。

如果你在一个团队中工作,那么你和你的团队的其他成员应就您所使用的编码约定。

如果你在一个更大的组织工作,然后有机会,有一些会在你被征收编码惯例。