C#中的命名约定是什么?

C#中的命名约定是什么?,c#,naming-conventions,C#,Naming Conventions,在这方面有一些问题,但它们似乎都是针对语言的特定部分 -具体询问获取者/设置者 -更具体地询问简短的大写后缀 我刚从C#开始,和一个朋友一起为XBOX Live Arcade创建游戏。我已经用ActionScript2和3开发了很多游戏,但我想开始探索更强大的语言和设备 我想确保,当我遇到麻烦时,我不会惹恼我开始与之合作的人(如果我遇到这种情况的话),甚至不会惹恼这里的人,也不会因为方法命名严重不正确而提出问题,等等 在我看到的示例代码中,我发现它令人困惑,因为从我目前的观点来看,似乎存在一

在这方面有一些问题,但它们似乎都是针对语言的特定部分

  • -具体询问获取者/设置者
  • -更具体地询问简短的大写后缀
我刚从C#开始,和一个朋友一起为XBOX Live Arcade创建游戏。我已经用ActionScript2和3开发了很多游戏,但我想开始探索更强大的语言和设备

我想确保,当我遇到麻烦时,我不会惹恼我开始与之合作的人(如果我遇到这种情况的话),甚至不会惹恼这里的人,也不会因为方法命名严重不正确而提出问题,等等

在我看到的示例代码中,我发现它令人困惑,因为从我目前的观点来看,似乎存在一些缺陷。我怀疑是否会使用有缺陷的命名约定,所以我意识到我只是在理解上有困难

据我所知,目前存在以下惯例:

  • 公共类型SomeMethod()
  • 私有类型SomeMethod()
    -没有下划线或任何内容
  • 公共静态类型SomeMethod()
  • private static Type\u SomeMethod()
    -这个看起来很奇怪
  • 公共类型someProperty
    -是否将其切换为属性的驼峰大小写
  • 公共静态类型SomeProperty
    -然后返回pascal casting进行静态
在ActionScript 3中,我制定并严格遵守了以下惯例:

  • private var\u someVar
  • public var someVar
  • private function\u someMethod()
  • 公共函数someMethod()
  • 公共静态变量SomeStaticVar
  • 公共静态函数SomeStaticMethod()
  • public const SOME_常量

是否有一个完整的命名约定列表,每个命名约定背后都有推理,以便我能够了解它们?语法的颠倒(即,
public Type method()
而不是AS3的
public function method():Type
)让我感到非常厌烦,因为我知道我需要注意如何命名事物,否则我会忘记并养成坏习惯,这是我现在想要明确和避免的。

微软在.Net编程中提倡的许多命名约定。你可以读到这些

根据经验,对公共属性、方法和类型名使用PascalCase

对于参数和局部变量,请使用camelCase

对于私有字段,选择一个:一些使用camelCase,另一个前缀为_camelCase并带有_


一种常见的惯例是用ALLCAPS命名常量。

两种主要的大写形式称为camelCase和PascalCase

基本规则(有很多变化)是

  • 类型使用PascalCase
  • 属性和方法始终使用PascalCase
  • 公共成员(字段、常量)使用PascalCase
  • 局部变量用例
  • 参数用例
尽管声明“内部和私人领域不在指南范围内”,但有一些明确的约定:

  • 私有字段用例
  • 支持属性前缀a
    的私有字段
C#更喜欢类、属性和方法的PascalCasing

据我所知,目前存在以下惯例:

  • public Type SomeMethod()
    微软提供了一套完整的规则和指南。(以前也有)

    <>此文档描述了微软在一个代码框架项目团队中使用的本机C++和.NET(C语言和VB.NET)编程的编码风格指南。
    我不认为有一个单一的惯例——我倾向于看到不同的程序员使用各种不同的风格。我认为,最重要的是在整个代码中保持一致。选择一个惯例并坚持下去。一些微软指南:和一些我觉得有用的备忘单:@Henk。关于受保护字段和静态字段的内容是什么?u在
    微软的
    命名约定中被禁止。@Yoda-什么版本/年份?当FX1问世时,MS对此持坚决态度,但几码之后,支持字段通常都加上前缀。@Mike,在类型成员的相邻页面上:“内部和私有字段不在指南范围内”。我的答案指的是我在实践中看到的情况。@Trispid但是MS仍然在自己使用它们。我猜all caps约定是源于C的旧编码样式的残余。这肯定是在标准的.NET常量或枚举中找不到的。我使用ALLCAPS作为枚举和C#中的常量,大部分时间我都是这样做的使用互操作C++ + DLLHAVE来支付scribd@rolls您可以在scribd或codeplex上免费查看文档。如果你想下载,请使用codeplex链接。谢谢你,我刚刚发现。@Nasreddine codeplex被杀了,链接不再有用了