C#命名和大小写约定

Cha*_*adD 3 c#

我是一个VB家伙,曾经用“ _”作为模块级别变量的前缀。

我正在使用FXCop,StyleCop和(我认为内置的Code Analysis,或者可能是指向FXCop,不确定),并且正在尝试采用最认可的命名约定。您将如何命名以下模块级别的私有,属性和参数字段,以使所有这些代码分析工具满意并符合公认的MS标准?请注意,具有与私有模块级别字段相同的参数名称可能会造成混淆,并且FXCop错误地告诉我在“ sourcefile”参数字段引用之前加上“ this”。

我为模块级私有使用小写字母的方法是否可以接受,我真正需要做的就是将参数重命名为诸如“ mySourceFile”或“ sourceFileIn”之类的自然名称?感觉很强迫。参数应使用Camel大小写。我的模块级别变量是否丢失?

    public class Restartability
    {
        private readonly string sourceFile;

        public Restartability(string sourceFile)
        {
            this.sourceFile = sourceFile;
        }

        public string SourceFile
        {
            get { return sourceFile; }
        }  

   }
Run Code Online (Sandbox Code Playgroud)

She*_*tin 5

我认为私有字段变量应该以“ _”作为前缀。

这将为您提供:

private readonly string _sourceFile;
Run Code Online (Sandbox Code Playgroud)

但是,可以争辩说,不需要前缀(来自Clean Code),因为您在一个类中不应有太多变量,以致很难分辨出范围域变量和非域变量之间的区别。

  • 在另一个线程中对该特定警告进行了更多讨论:http://stackoverflow.com/questions/3215395/ca1500-vs-sa1309-which-one-wins (3认同)
  • 我不喜欢对变量使用下划线。无需在变量前加上下划线。使用“ this”,您可以轻松地引用和查找所有私有字段变量,而无需在其下划线。 (2认同)