关于变量名成员前缀

时间:2012-01-09 04:35:26

标签: c# java c++ coding-style

  

可能重复:
  Why should (or shouldn't) I prefix fields with 'm_' in C#?

我正在阅读CLEAN CODE

有一个关于成员前缀的段落。

作者建议不再使用m_。 如:

public class Part{
  private String m_dsc;
  void setName(String name){
    m_dsc - name;
  }
}

应该是:

public class Part{
  String description;
  void setDescription(String description){
    this.description = description'
  }
}

我的问题是,为什么我们之前使用m_?

而且,本书以Java为例。 这个建议对c#有用吗?怎么样c ++

谢谢!

2 个答案:

答案 0 :(得分:3)

m_是匈牙利符号的变体 - http://en.wikipedia.org/wiki/Hungarian_notation

使用与否是个人/团队呼叫,但不建议使用字段前缀的建议是C#的长期建议 - http://msdn.microsoft.com/en-us/library/ms229012.aspx

答案 1 :(得分:2)

m_前缀可以很容易地将成员变量与局部变量或参数区分开来。

这适用于面向对象语言的类(所以,是C#,C ++等)

现在,随着IDE的进步,m_前缀似乎并没有那么有用(在你想知道变量是否是类成员的情况下,它很容易和快速去定义。)