什么是C#中普遍接受的命名惯例? (函数,类,参数,局部变量,命名空间,等)
Answer 1:
微软拥有出色的一套关于类库设计原则 ,包括对命名节 。 在短(在括号中的例子):
- 类/的Structs:PascalCase(
WebRequest
) - 接口:PascalCase与我前缀(
IDisposable
) - 方法:PascalCase(
ToUpper
) - 属性:PascalCase(
Length
) - 事件:PascalCase(
Click
) - 命名空间:PascalCase(
System.Collections
;不寻常的一个部分两个词虽然) - 非恒定的变量,包括参数:驼峰格式(
keySelector
) - 常量:PascalCase(
Int32.MaxValue
) - 枚举:PascalCase,奇异非标记和多个用于标志(
HttpStatusCode
,BindingFlags
) - 属性: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]