首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何对字段和属性进行最佳命名

如何对字段和属性进行最佳命名
EN

Stack Overflow用户
提问于 2010-02-11 07:24:00
回答 7查看 1K关注 0票数 6

Microsoft says字段和属性必须不只是大小写不同。那么,如果它们真的代表了相同的概念,它们应该如何不同呢?

下面是微软关于不该做的事情的例子:

代码语言:javascript
运行
复制
using System;
namespace NamingLibrary
{    
    public class Foo    // IdentifiersShouldDifferByMoreThanCase    
    {        
        protected string bar;

        public string Bar        
        {            
            get { return bar; }        
        }    
    }
}

他们没有给出这应该是什么样子的指导。大多数开发人员都做些什么?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-02-11 07:27:32

不,微软表示,公开可见的成员必须不仅仅是大小写的不同:

此规则仅在公开可见的成员上触发。

(这包括受保护的成员,因为它们对派生类是可见的。)

所以这很好:

代码语言:javascript
运行
复制
public class Foo
{
    private string bar;
    public string Bar { get { return bar; } }
}

我的个人规则是无论如何都不允许任何其他私有字段,在这一点上这不是问题。

您真的需要受保护的字段吗?如果你想从派生类中改变属性,让它有一个受保护的setter如何?

票数 11
EN

Stack Overflow用户

发布于 2010-02-11 07:27:45

这可能会让一些开发人员感到厌恶,但我喜欢让我一眼就能区分成员变量和本地变量的命名约定。

所以,我经常这样做:

代码语言:javascript
运行
复制
public class Foo
{
    protected string _bar;

    public string Bar
    {
        get { return _bar; }
    }
}

...or...

代码语言:javascript
运行
复制
public class Foo
{
    protected string mBar;    // 'm' for member

    public string Bar
    {
        get { return mBar; }
    }
}
票数 7
EN

Stack Overflow用户

发布于 2010-02-11 07:26:11

我喜欢:

代码语言:javascript
运行
复制
protected string _Bar;

public string Bar        
{            
    get { return _Bar; }        
}    
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2241105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档