对此有一些问题,但它们似乎都针对该语言的特定部分;
- What are the most common naming conventions in C#? - 专门询问有关吸气剂/装置者的信息。
- C# naming conventions for acronyms - 更具体地询问短大写后缀。
我刚开始用C#和一位朋友一起创建XBOX Live Arcade游戏。我使用ActionScript 2和3开发了许多游戏,但我们想开始探索更强大的语言和设备。
我想确保我不会为那些我开始合作的人(如果我达到这个目标)而烦恼,或者甚至只是当我遇到麻烦并且问一个严重令人不安/“错误”命名的问题时方法等。
我发现在我见过的示例代码中令人困惑,因为从我目前的观点来看似乎存在一些缺陷。我怀疑是否会使用有缺陷的命名约定,所以我意识到我只是在理解它。
据我所知,到目前为止,有以下约定:
public Type SomeMethod()
private Type SomeMethod()
- 没有下划线或任何东西?public static Type SomeMethod()
private static Type _SomeMethod()
- 这个看起来很奇怪.. public Type someProperty
- 将其切换为属性的驼峰套管?public static Type SomeProperty
- 然后回到pascal外壳静电.. 在ActionScript 3中,我已经开发并严格遵守这些约定:
private var _someVar
public var someVar
private function _someMethod()
public function someMethod()
public static var SomeStaticVar
public static function SomeStaticMethod()
public const SOME_CONSTANT
是否有完整的命名约定列表,并在每个命名约定背后都有推理,以便我能够理解它们?语法的反转(即public Type method()
而不是AS3的public function method():Type
)让我完全放弃了,因为我知道我需要密切注意我是如何命名的,否则我会忘记并养成了坏习惯,我现在宁愿指甲避免。
答案 0 :(得分:52)
两个主要的大写字母称为camelCase和PascalCase。
基本规则(有很多变化)是
虽然the documentation表示"内部和私人字段未被指南涵盖"有一些明确的约定:
_
答案 1 :(得分:20)
Microsoft提供的All-In-One Code Framework Coding Standards包含一整套规则和指南。 (也可用here)
本文档描述了Microsoft All-In-One Code Framework项目团队使用的本机C ++和.NET(C#和VB.NET)编程的编码样式指南。
答案 2 :(得分:7)
微软为.Net编程提倡了很多命名约定。您可以阅读这些here。
根据经验,请将PascalCase用于公共属性,方法和类型名称。
对于参数和局部变量,请使用camelCase。
对于私有字段,请选择一个:一些使用camelCase,其他前缀_camelCase使用_。
常见的惯例也是用ALLCAPS命名常量。
答案 3 :(得分:4)
C#更喜欢PascalCasing的类,属性和方法。
据我所知,到目前为止,有以下约定:
public Type SomeMethod()
< - yes private Type SomeMethod()
< - 正确,无下划线public static Type SomeMethod()
< - correct private static Type _SomeMethod()
< - 这对我来说也很奇怪。下划线不应该在那里public Type someProperty
< - 不,公共财产应为PascalCased(SomeProperty)public static Type SomeProperty
- 然后回到pascal外壳静电.. 如果您使用的是Visual Studio或XNA Game Studio(我认为它是Visual Studio的一个分支),我强烈建议您使用ReSharper许可证(来自jetbrains软件)。他们会在您的代码编辑器中告诉您如何符合常见的C#约定。
<强>增加:强>
您应该将camelCasing用于私有字段和方法参数。对于私有字段,我通常在它们之前添加_withAnUnderscore。