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 case 9 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供派生类来改写。
.NET 命名规范
最新推荐文章于 2024-04-15 00:14:06 发布