为什么类属性需要注释

时间:2014-02-07 16:56:05

标签: c#

StyleCop使用Gets or Sets ...符号来强制执行规则SA1623

我的问题是,为什么,从我可以看到的绝大多数时间它是自我解释的并且需要大量重复才能拥有这些?

/// <summary>
/// Gets or sets the name of the customer
/// </summary>
public string Name { get; set; }

/// <summary>
/// Gets or sets whether the record is archived
/// </summary>
public string IsArchive{ get; set; } 

它也可以使它过于冗长,当你只有10行,每一行声明一个属性时,你最终会有30多行来对每个行进行总结评论!

4 个答案:

答案 0 :(得分:6)

StyleCop规则不是绝对规则,而是准则。一般来说,这是一个很好的规则,但在某些情况下是的,属性很简单,文档可能有点过分。例如

class Student { 
  public string FirstName { get; set; } 
  public string LastName { get; set; }
}

对这些属性的评论确实没有增加任何价值,因为它们非常具有自我描述性。

我非常喜欢在项目中使用StyleCop。但这并不意味着你必须采取它附带的每一条规则。禁用那些对您的项目没有意义的项目,并接受那些

的项目

答案 1 :(得分:4)

为了公众可访问成员的文档的完整性?

答案 2 :(得分:2)

没有必要。从我的观点来看,它就像你说的那样不言自明。

如果变量具有有用的名称,那么写这样的东西是浪费时间。

如果有变数,这些变量不能自我解释,那么这些评论会很有用(例如一些旧代码?)

答案 3 :(得分:1)

由于我的工作代码标准,我有义务撰写这些意见。对我来说,当它的名字显示其目的时,没有必要为它添加注释。

这种方法的主要问题是浪费时间评论以及评论本身无益的事实。大多数时候,它只是重复属性的名称。

PS:我的观点仅适用于属性名称显示其用途的情况。有几种情况强烈建议发表评论。