私人成员命名惯例

时间:2011-04-11 14:08:09

标签: .net coding-style

在我们的项目中,我们使用VB.NET和C#代码。

现在,Microsoft 似乎不建议使用" _"或" m"私有字段的前缀(例如_BackColor的{​​{1}})。

从另一部分开始,Visual Studio" C#standard"小写私有字段不能应用于VB.NET代码,因为VB不支持区分标识符。

您怎么看?

PS。
学习更多MS约定我发现Microsoft 没有私人字段命名的公共建议,所以我们可以使用任何所需的......

3 个答案:

答案 0 :(得分:2)

标准的重点是促进一致性和理解。

在这种情况下,因为你有多种语言我会选择“_”或“m”,但要确保你记录为什么你做出这个决定,以便在18个月的时间内一个新员工(甚至你)不看代码并去“WTF?”。

答案 1 :(得分:1)

我通常将我的私有属性命名为驼峰大小写,或者用'_'作为前缀,然后继续使用驼峰大小写,具体取决于语言

private bool isReady;
private bool _isReady;

使用'_'进行前缀在我看来看起来更干净,因为它可以避免在参数被调用时使用this

class Person
{
    private string _name;

    public Person(string name)
    {
        _name = name;
    }
}

但是,您应该尝试继续一个约定。

答案 2 :(得分:1)

您应该考虑使用StyleCop来验证代码是否存在不一致。 StyleCop更喜欢使用this,而不是为成员添加前缀(我也是如此),原因如下:

  

默认情况下,StyleCop不允许使用   标记的下划线,m_等   本地类字段,有利于   'this。'前缀。使用的好处   “这个。”它同样适用于   所有元素类型包括方法,   属性等,而不仅仅是字段,   打电话给班级成员   无论如何都能立刻辨认出来   正在使用哪个编辑器来查看   码。另一个优点是它   创造一个快速,可识别的   实例之间的区别   成员和静态成员,将   没有前缀。

对于不区分大小写的语言,请使用约定的前缀。