Microsoft says字段和属性必须不只是大小写不同。那么,如果它们真的代表了相同的概念,它们应该如何不同呢?
下面是微软关于不该做的事情的例子:
using System;
namespace NamingLibrary
{
public class Foo // IdentifiersShouldDifferByMoreThanCase
{
protected string bar;
public string Bar
{
get { return bar; }
}
}
}他们没有给出这应该是什么样子的指导。大多数开发人员都做些什么?
发布于 2010-02-25 10:05:52
我个人做以下几件事:
class SomeClass
{
private static string s_foo; // s_ prefix for static class fields
private string m_bar; // m_ prefix for instance class fields
public static string Foo
{
get { return s_foo; }
}
public string Bar
{
get { return m_bar; }
}
}我最初只是使用_或m_作为我所有字段的前缀,直到我开始通过Reflector挖掘大量微软的.NET代码。微软也使用了s_和m_范例,我有点喜欢它。当您读取函数的代码体时,它使您很容易准确地知道字段是什么。我不需要指向任何东西,然后等待工具提示或类似的东西出现。我仅仅通过字段前缀就可以知道某个东西是静态的还是实例的。
https://stackoverflow.com/questions/2241105
复制相似问题