1

与我之前的问题有关。如果我定义一个接口,我会评论它的成员。然后我不会评论实现类的实现,除非原始评论不再有效。

Resharper 对此很好,Visual Studio 声称这是一个警告。

重要的是,当您使用它们时,继承的评论会通过智能感知显示,这几乎是我唯一真正关心的问题。

您对此有何看法?

谢谢

4

2 回答 2

0

在代码中添加注释始终是一个好习惯。如果一个组件是私有或内部类,并且它总是通过一个已知的接口或具有所有注释的抽象类公开,那么您可能只需要在该类的实现上注释特定的东西(例如,如果更多而不是一个人去查看代码,或者如果你碰巧在几年后返回你的代码)。这样就更容易理解代码的作用和原因。如果您在构建项目时启用了生成 XML 文档,Visual Studio 会针对未记录的成员向您发出警告。

当我启用 XML 文档生成时,我还会在某些类上收到 Resharper 警告,但 Resharper 仅对具有公共可见性的项目发出警告。为了缩短文档工作,我建议首先注释公共类和接口(特别是如果您正在发布产品库),如果有足够的时间,内部/私有的。如果您决定不评论后者,只需确保您或任何将使用该代码的人都能轻松理解其逻辑和背后的原因。

于 2011-07-05T10:39:16.350 回答
0

我刚刚遇到了同样的“问题”,我认为 Visual Studio 正确地报告了代码异味。

如果我理解正确,您的问题是,在您的界面和实现上拥有相同数量的评论并不是DRY 。这很有意义——很多时候,尤其是当你在模拟和测试时,当你有一个接口时,代码将使用接口,而不是实现。为什么要复制?

好吧,我敢打赌你的课是被标记的public。如果是这种情况,则外部代码可以在没有接口的情况下使用该类。这些外部用户应该得到一些评论,你永远不知道什么时候你有额外的公共方法没有在你正在实现的接口列表中捕获。评论它!

但是,如果您不想发表这些评论(至少在 VS 2017 中;我意识到您使用的是 2013,但我没有方便),您可以标记实现类internal并跳过评论

然后你的 unDRY 评论问题就解决了。

于 2019-04-05T20:12:43.627 回答