1

我花了一些时间回顾了我对 C# 命名约定的了解,然后查看了我的代码和一些至少有 3-4 年经验的同事的代码,我不确定他们是否只是习惯了不正确的约定或对于某些特定情况,我没有收到通知。

据我所见,当我们声明变量时,无论它是否已初始化,名称都应为 Pascal 大小写(此处没有常量),但我在同事的代码中看到了这个片段,他的经验比我多得多:

WebImage UploadImage = WebImage.GetImageFromRequest();

所以这里UploadImage从大写开始。当这种风格被接受或者只是我的大学没有遵循通用命名约定时,是否有特殊情况(再次声明常量)?

附言

由于许多回应最终约定由团队决定(我也同意这是正确的)我想说我们是几个人但不是一个团队所以我想遵循一些一般约定,我认为这是理解我的意思msdn recommendations,但我看到它根本不是那么清楚,所以这个 PS 是为了清除这个话题。我们通常不遵循任何团队约定,但我不希望这阻止我采用一些广泛使用的约定,我认为 msdn 推荐的内容是一个很好的起点,因为这完全取决于我来决定。

感谢所有回答!

4

4 回答 4

4

Microsoft 对大多数标识符都有命名准则,但私有变量不包括在其中。

最常见的约定是局部变量使用驼峰式大小写:

WebImage uploadImage = WebImage.GetImageFromRequest();

没有共同的约定来命名变量,具体取决于它们在声明时是否被初始化。未初始化的变量最终会被初始化,从而使命名混乱。此外,通常没有必要挑出未初始化的变量,因为编译器不会让您读取不确定已分配的变量。

于 2013-05-29T14:14:54.853 回答
1

没有一套命名约定 - 您需要选择一个来采用。我从未见过任何与初始化变量不同的地方,但通常本地声明的变量不会以大写字母开头 - 那些留给类级属性。

我使用的约定来自IDesign C# 编码标准

于 2013-05-29T14:09:51.887 回答
0

正如其他人所说,约定的正确性仅在团队决定时才有效。有许多约定,没有正确的约定。

我建议您选择最容易让您的团队遵循的约定。静态分析工具帮助我遵守约定,我将从那里开始。让您的团队研究并尝试不同的工具,并使用您找到的最好的工具。然后让工具完成繁重的工作。

我个人发现StyleCop很有用。根据StyleCop,您的代码应如下所示:

WebImage uploadImage = WebImage.GetImageFromRequest();
于 2013-05-29T14:22:34.813 回答
0

根据微软的说法,局部变量应该是驼峰式的。

对于成员变量,有不同的样式(因为它没有正式指定),我更喜欢用 _ 作为前缀,例如:_upperImage。这样您就可以轻松识别成员变量。

正如上面的答案所提到的,一致性比约定更重要。如果所有其余代码都采用某种样式,则应遵循该样式(或全部更改)

于 2013-05-29T14:13:53.180 回答