日期:2014-05-19  浏览次数:20963 次

求微软(.net开发组)的C#命名规范,也可以说下自己用的C#命名规范
Pascal   大小写形式:     所有单词第一个字母大写,其他字母小写。
camel   大小写形式:     除了第一个单词,所有单词第一个字母大写,其他字母小写。
匈牙利命名方法:         在每个变量前加上表示其类型的前缀。


寻求答案的主要问题:
1.   类名                       SomeClass
2.方法名                     SomeMethod
3.属性名                     SomeName
4.常量名                     ConstValue
5.局部变量                 myName
6.方法参数                 someNumber
7.类的成员变量(私有)     m_Name       (主要是这个)

我后面写的例子是本人现在用的
学自《C#   Coding   standard》   一书

但我想了解下,MS内部人员的C#命名规范
还请高手指点下:

微软(.net开发组)的C#命名规范,也可以说下自己用的C#命名规范



------解决方案--------------------
1. 类名 SomeClass
2.方法名 SomeMethod
3.属性名 SomeName
4.常量名 ConstValue
5.局部变量 myName
6.方法参数 someNumber
7.类的成员变量(私有) m_Name (主要是这个)

===================================
也用这个

马夹帮顶
------解决方案--------------------
Microsoft公司强烈推荐使用Pascal大小写形式的大写规则,它是指在标识符中的所有单词的第一个字母都大写,而且在单词中没有空格字符的命名规则。另外一种规则是camel大小写规则,它是指标识符的第一个字母是小写的,而其后的每个单词的一个字母都是大写的规则。下表总结了Microsoft公司大写规则的建议。

类型 种类 示例
类 Pascal MyClass
枚举值、枚举类型 Pascal Color.Red
事件 Pascal ButtonDown
异常类 Pascal 类名称以Exception结尾MyException
接口 Pascal 接口名称以字母I为前缀ICloneable
方法 Pascal GetData
命名空间 Pascal Wish
属性 Pascal ItemValue
参数 camel itemValue
私有成员变量 camel itemValue

除了以上归纳的大写规则外,下列应用于命名类、接口和命名空间的指导原则
不要使用与命名空间重复的类名称。
不要使用下划线字符
不要使用与关键字冲突的标识符名称
使用名词和名词短语命名类和命名空间,使用动词来命名方法。

------解决方案--------------------
http://msdn2.microsoft.com/en-us/library/ms229002.aspx
http://msdn2.microsoft.com/en-us/library/xzf533w0(VS.71).aspx
------解决方案--------------------
amandag(高歌)

请问这些资料哪里有?
可否给个链接?
------解决方案--------------------
http://nbpinke.com/redirect.php?tid=68&goto=lastpost
------解决方案--------------------
命名方法:
1,骆驼命名法:第一个字母小写,随后的每个单词的第一个字母大写。如:studentName
2,帕斯卡命名法:每一个单词的第一个字母都大写。如:StudentName
3,匈牙利命名法:加前缀。如btnName,txtName.

一。常量
带有访问修饰符的常量以骆驼命名法
带有公有访问修饰符,受保护修饰符的常量以帕斯命名法。

二。数组
以骆驼命名法。

三。结构
以帕斯卡命名法,用名词或短语作为名称。

四。枚举
以帕斯卡命名法,枚举中的选项也一样。

五,类
以帕斯卡命名方法,确保类的名称是一个名词。

六。成员变量命名。
给公有成员变量,受保护的成员变量或内部成员变量命名应以帕斯卡命名方法,给私有成员变量应使用骆驼命名法并以下划线开头。

七。变量
内联变量(在方法内声明)应以骆驼命名法命名。避免使用单个字符作为变量名称,但循环除外。
------解决方案--------------------
骆驼命名法
------解决方案--------------------
私有变量和方法的参数老是有冲突

比如 性别 sex

class Person
{
string sex;
public SetSex(string sex) // 这里就有冲突了
{
this.sex = sex;
}
}
如何解决
------解决方案--------------------
1. 类名 SomeClass