可能重复:
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 ++
谢谢!
答案 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_前缀似乎并没有那么有用(在你想知道变量是否是类成员的情况下,它很容易和快速去定义。)