我有这堂课:
class DoSomething
{
private int timesDone;
...
}
命名变量“timesDone”的正确方法是什么?
有时我看到命名为m_timesDone。它是否正确?在哪里可以找到有关命名准则的信息?
谢谢!
我有这堂课:
class DoSomething
{
private int timesDone;
...
}
命名变量“timesDone”的正确方法是什么?
有时我看到命名为m_timesDone。它是否正确?在哪里可以找到有关命名准则的信息?
谢谢!
没有普遍的正确方法。选择您喜欢的命名约定并坚持下去。
根据 MS 标准,您的代码是可以的。当您拥有高级 IDE 时,实际上并不需要前缀为 m_。然而,像_这样的短前缀可以用来利用自动完成功能来快速整理类成员。
我建议您获取“框架设计指南:可重用 .NET 库的约定、惯用语和模式”一书的副本,以了解有关 MS 标准的更多信息
绝对不要使用 m_timesDone。
简单地说“private int timesDone”。
您可以通过阅读一些好书(例如 Code Complete)来了解如何命名变量。
很多人都按照你的方式去做。然后,您将其引用为
this.timesDone = someInt
但是,我不喜欢这样,因为我不喜欢键入“this”以避免与方法参数名称发生冲突。只要它可读且一致,您就可以了。
使用 m_ 前缀成员字段的约定来自 C++ 的早期,当时匈牙利符号很流行。这不是 C# 约定,并且由于大多数 C# 代码是使用最近的 Visual Studio 编写的,因此它会增加视觉噪音而没有任何相应的优势,因为无论如何您都可以轻松地看到变量的范围。不要使用 m_。
匈牙利表示法在 C# 中出现的唯一例子是在接口类名称前加上 I 的做法,例如 IDisposable。
您可以直接在 MSDN 站点上找到一些信息:http: //msdn.microsoft.com/en-us/library/ms229002.aspx
您会发现的唯一一致点是它不应该是TimesDown,而是应该以小写字母开头。
在较早的出版物(MS、MSDN)中,不鼓励使用前导下划线。后来它又回来了,特别是对于属性的支持字段:_timesDown。
通常采用的策略是:
对于类和方法:Pascal 套管
例如
public class Program
{
}
例如
public void DoSomething() { }
对于变量:骆驼套管,例如 timesDown
局部变量:
aTimesDown
全局变量:
myTimesDown
我希望这可以帮助你:)