.NET 命名规范

来源:互联网 发布:恶意软件 编辑:程序博客网 时间:2024/06/07 00:27
1 Namespace 命名规范 使用公司名.产品名 这样的格式 Namespace中类的依赖关系应该体现在命名上,比如System.Web.UI.Design中的类以来于System.Web.UI 使用 Pascal case 命名 当商标(产品名)的命名风格和Pascal case不相符的时候,以商标(产品名)为准 在语意合适的情况下使用复数,比如System.Collections。例外是缩写和商标的情况。 Namespace的名字不一定和Assembly一一对应。2 Class 命名规范 使用名词或者名词性词组命名class 使用 Pascal case 保守地使用缩写 不使用type前缀,例如C来标识Class。比如,使用FileStream而不是CFileStream。 不使用下划线 偶尔的在Class名称组成中需要使用I开头的时候,比如IdentityStore,just use it。 在合适的时候,使用单词复合来标识从某个基类继承而来。比如xxxException。3 Interface 命名规范 使用名词或者名词性词组命名Interface 使用 Pascal case 保守地使用缩写 在interface 名称前加上字母I来表示type是interface。 在某个class是某个interface地标准实现地时候,用类似的名字来命名它们,仅仅在interface的名称前面多个I。 不要使用下划线4 Attribute 命名规范 总是给Attribute类加上Attribute后缀。5 Enumeration Type 命名规范 对Enum类型和值使用Pascal case 保守厥褂盟跣? 不要在Enum类型名称后面加上Enum后缀 对于大多数Enum类型使用单数名称,仅仅在这个Enum类型是bit fields地时候使用复数形式 总是给bit field Enum 类型添加FlagsAttribute。6 Static Field 命名规范 使用名词、名词性词组或者名词地缩写来命名static fields 使用Pascal case 不要在static field名称中使用匈牙利命名法 在任何可能的情况下推荐你使用静态properties而不是public static fields。7 Parameter 命名规范 对于parameter名称使用camel case 使用描述性的名称。参数名字应该在大多数场合下它的名字加上类型足够描述它的意义。 使用描述参数的意义的名字而不是描述参数类型的名字。开发工具应该提供有关参数类型的有意义的信息。因而,参数的名字可以用于更好的描述意义。保守地使用基于类型的参数名字,仅仅在它们是合适的场合下使用。 不要使用保留的参数。 不要使用匈牙利命名法8 Method 命名规范 使用动词或者动词性词组命名 使用Pascal case9 Property 命名规范 使用名词或者名词性词组命名 使用Pascal case 不要使用匈牙利命名法 考虑使用和property type名字相同的名字作为property name。10 Event 命名规范 使用Pascal case 不要使用匈牙利命名法 在event handler名字中使用EventHandler后缀 指定两个名字分别为sender和e的参数。sender参数代表了发出事件的对象。sender参数总是类型object,即使可能使用一个更加精确的类型。和事件相关的状态封装在名字为e的event class的实体之中。给e指定恰当而且明确的event class。 使用EventArgs后缀命名事件参数class 考虑使用动词命名事件。使用进行时态来标识事件正在进行之中,使用完成时态标识事件已经完成,不要使用BeforeXxx/AfterXxx命名法。 不要在事件声明中使用前缀和后缀,比如,用Close而不是OnClose。 一般的,你应该同时提供一个名字为OnXxx的protected method供派生类来改写。