在C#命名约定[关闭](Naming Convention in c# [closed])

2019-08-31 23:44发布

什么是C#中普遍接受的命名惯例? (函数,类,参数,局部变量,命名空间,等)

Answer 1:

微软拥有出色的一套关于类库设计原则 ,包括对命名节 。 在短(在括号中的例子):

  • 类/的Structs:PascalCase( WebRequest
  • 接口:PascalCase与我前缀( IDisposable
  • 方法:PascalCase( ToUpper
  • 属性:PascalCase( Length
  • 事件:PascalCase( Click
  • 命名空间:PascalCase( System.Collections ;不寻常的一个部分两个词虽然)
  • 非恒定的变量,包括参数:驼峰格式( keySelector
  • 常量:PascalCase( Int32.MaxValue
  • 枚举:PascalCase,奇异非标记和多个用于标志( HttpStatusCodeBindingFlags
  • 属性:PascalCase与“属性”后缀( ThreadStaticAttribute

私人名字是你的,但我倾向于遵循相同的约定作为一切。 匈牙利命名法(在Win32中的风格)气馁,虽然很多地方用“M_”或“_”作为实例变量的前缀。



Answer 2:

从微软的.NET标准是使用Pascal大小写的命名空间,公共和保护成员(基本上什么其他类可见)。 对于私有成员和局部变量,有一个更广泛的泊位,只是做任何你和你的团队是最舒服的。



Answer 3:

ReSharper的指南建议


  • 类型和命名空间UpperCamelCase
  • 接口IUpperCamelCase类型参数TUpperCamelCase
  • 方法属性和事件UpperCamelCase地方
  • 变量lowerCamelCase局部常量lowerCamelCase
  • 参数lowerCamelCase字段(不是私人)UpperCamelCase
  • 实例字段(私人)_lowerCamelCase
  • 静态字段(私人)_lowerCamelCase
  • 恒田(不是私人)UpperCamelCase
  • 恒田(私人)UpperCamelCase
  • 静态只读域(不是私人)UpperCamelCase
  • 静态只读域(私人)UpperCamelCase
  • 枚举成员UpperCamelCase
  • 所有其他实体UpperCamelCase


Answer 4:

不要小看跟着你已尽可能接近工作尽可能平台的命名约定的价值。

看的.NET Framework的参考材料的如何“适应”(实施例http://msdn.microsoft.com/en-us/library/ms229335.aspx )。

乔恩斯基特已经通过微软给了你一个链接到一个良好的书面记录: http://msdn.microsoft.com/en-us/library/ms229042.aspx

您还可以使用独立的微软的FxCop(或代码分析,如果你有团队版) http://www.microsoft.com/downloads/details.aspx?FamilyID=9aeaa970-f281-4fb0-aba1-d59d7ed09772&DisplayLang=en检查该命名惯例得到遵守。 它有微软惯例,这是你应该使用他们的另一个原因内置的规则!



Answer 5:

朱瓦尔·洛在了这是在刺编程.NET组件 ,请参阅本SO链接了。



Answer 6:

我想看看所谓的“苗条书C#风格的要素 ”的鲍德温,灰色,和Misfeldt。 蓝皮书介绍命名约定,并创建一致的,干净的,可读的代码等诸多方面。



文章来源: Naming Convention in c# [closed]