如何最好地命免费精选名字大全段和属性
微软表示,字段和属性必须不仅仅是大小写。 那么,如果他们真正代表同一个想法,他们应该如何区别?
这是微软不做的例子:
using System; namespace NamingLibrary { public class Foo // IdentifiersShouldDifferByMoreThanCase { protected string bar; public string Bar { get { return bar; } } } }
他们没有给出如何看待它的指导。 大多数开发人员做了什么?
不,微软表示, 公开可见的成员必须与以下案例不同:
此规则仅针对公开可见的成员触发。
(包括受保护的成员,因为它们对派生类是可见的。)
所以这很好:
public class Foo { private string bar; public string Bar { get { return bar; } } }
我个人的规则是不允许任何其他私人领域,此时这不是问题。
你真的需要保护区吗? 如果您希望能够从派生类变异,那么如何使该属性具有受保护的setter?
这可能会让一些开发人员感到厌恶,但我喜欢命名约定,让我一目了然地将成员变量与本地人区分开来。
所以,我经常这样做:
public class Foo { protected string _bar; public string Bar { get { return _bar; } } }
…要么…
public class Foo { protected string mBar; // 'm' for member public string Bar { get { return mBar; } } }
我喜欢:
protected string _Bar; public string Bar { get { return _Bar; } }
认为大多数开发人员使用下划线为成员变量加前缀如下:
protected string _bar;
我个人喜欢Balena的这本书:
我个人做了以下事情:
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挖掘大量的Microsoft .NET代码。 微软也使用s_和m_范例,我有点喜欢它。 当您阅读函数的代码体时,可以很容易地确切知道字段是什么。 我不必指出任何东西,等待工具提示出现或类似的东西。 我知道某些东西是静态的还是仅仅是字段前缀的实例。
这取决于您或您公司组织的编码标准。 但大多数程序员使用camelCasing或者下划线+ camelCasing对Fields和PascalCasing进行属性,例如:
上述就是C#学习教程:如何最好地命免费精选名字大全段和属性分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
public class Foo { protected string _bar; public string Bar { get { return _bar; } } }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/990212.html