【问题标题】:Should single line accessors be written like methods or like variables [closed]单行访问器是否应该像方法或变量一样编写[关闭]
【发布时间】:2013-10-24 19:18:39
【问题描述】:

工作中的编码标准甚至希望像方法一样编写简单的访问器。

string x 
{
  get 
    { 
      return _x;
    }
}

虽然对我来说写成这样是有意义的

string x { get { return _x; } }

因为一旦您有 10 个访问器,您将滚动浏览代码页面,想知道它们是如何组合在一起的,而不是很好地组合在一起。

哪个更有意义?

【问题讨论】:

  • _x 是一个简单的字段吗?如果是这样,那么public string x { get; private set; } 具有相同的语义,并且对于如何格式化该代码没有任何问题。
  • 这个问题主要是基于意见的,因此我认为它是题外话。 -1
  • 一切都是意见。我给出了我的推理,我希望有经验的人给出他们的推理。

标签: c# coding-style accessor


【解决方案1】:

对我来说,这样写是有意义的:

string x 
{
    get { return _x; }
    set { _x = value; }
}

但是两年前我工作的地方,我被要求这样写:

string x {
    get { return _x; }
    set { _x = value; }
}

我只是习惯了它,3个月后对我来说很自然。

对我来说,这就像在一行中声明 2 个不同的东西,但大多数情况下,我不习惯,所以我不喜欢它:

public string X { get { return _x; } }

同时,对我来说,自动属性工作正常:

public string X { get; set; }

这完全取决于您的团队。你必须决定并按照选择的标准前进。 没有好坏之分。 Microsoft 可能会推荐一些东西,但这主要是为了让所有开发人员都能轻松理解代码。

【讨论】:

    猜你喜欢
    • 2019-06-03
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多