我有这堂课:
class DoSomething
{
private int timesDone;
...
}
命名变量'timesDone'的正确方法是什么?
有时我看到名为 m_timesDone 。它是否正确?我在哪里可以找到有关命名指南的信息?
谢谢!
答案 0 :(得分:5)
没有普遍的正确方法。选择你喜欢的命名惯例并坚持下去。
答案 1 :(得分:4)
根据MS标准,您的代码没问题。如果您拥有高级IDE,则前缀为m_并不是必需的。但是,可以使用 _ 这样的短前缀来利用自动完成功能来快速整理班级成员。
我建议您获取“Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries”一书的副本以了解有关MS标准的更多信息
答案 2 :(得分:4)
绝对不要使用m_timesDone。
简单地说“private int timesDone”。
您可以通过阅读一些好的书籍来学习如何命名变量,例如Code Complete。
答案 3 :(得分:3)
许多人在那里做到了。然后,您将其引用为
this.timesDone = someInt
但是,我不喜欢这个,因为我不喜欢输入'this'以避免与方法参数名冲突。只要它具有可读性和一致性,您就可以了。
答案 4 :(得分:3)
使用m_作为成员字段前缀的惯例来自C ++的早期,Hungarian notation很受欢迎。它不是C#约定,并且由于大多数C#代码是使用最近的Visual Studio编写的,因此它会增加视觉噪声而没有任何相应的优势,因为无论如何您都可以轻松地查看变量的范围。不要使用m_。
已经进入C#的匈牙利符号的唯一例子是使用I表达接口类名的做法,例如IDisposable。
答案 5 :(得分:2)
您可以直接在MSDN网站上找到一些信息: http://msdn.microsoft.com/en-us/library/ms229002.aspx
答案 6 :(得分:1)
你会发现唯一的一致意见是 不 应该是TimesDown,但它应该以小写字母开头。
在较旧的出版物(MS,MSDN)中,不鼓励使用前导下划线。之后它又回来了,特别是对于属性的后备域:_timesDown。
答案 7 :(得分:0)
通常采用的策略是:
Class & 方法: Pascal套管
e.g。
public class Program
{
}
例如
public void DoSomething() { }
对于变量: Camel Casing ,例如timesDown
本地变量:
aTimesDown
全局变量:
myTimesDown
我希望这可以帮到你:)