问题标签 [stylecop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
372 浏览

.net - 是否有 .Net StyleCop 规则警告 lock(this), lock(typeof, lock(, ETC。?

这 3 种类型的锁显然不好。还有什么其他类型的锁定不好?是否有 Stylecop / FxCop 规则可以捕捉到这一点?如果没有,那么您能帮我实现自定义规则吗?他们所有的代码都必须相似,对吧?

谢谢你。

0 投票
2 回答
348 浏览

c# - 当我在 VS2010 中使用 WinForms (C#) 设计器时,它仍然会生成 StyleCop 抱怨的代码

我记得的一些问题(可能还有更多):

  1. 包括地区
  2. this.为成员变量和方法使用前缀
  3. 包括像下面这样的评论(它//本身就引起了 StyleCop 的注意)

    /li>

如果我对文字进行了更改,然后再次打开设计器,将我之前完善的辛勤劳动成果搞砸了。你是如何/将如何解决这个问题的?

我听说过但没有亲身经历过 WPF 的类似问题。你是如何/你会解决这个问题的?

谢谢。

0 投票
3 回答
7201 浏览

c# - 使用指令、命名空间和程序集参考——所有这些都与 StyleCop 混为一谈!

我喜欢遵守 StyleCop 的格式规则以使代码清晰明了,但我最近遇到了其中一个警告的问题:

所有 using 指令都必须放在命名空间内。

我的问题是我有 using 指令、一个程序集引用(用于模拟文件删除)和一个命名空间来处理我的一个测试类:

以上允许测试运行良好 - 但 StyleCop 抱怨 using 指令不在命名空间内。

将 usings 放入命名空间会导致无法识别“MoledType”的错误。

将 usings 和程序集引用都放在命名空间内会产生错误

'assembly' 不是此声明的有效属性位置。此声明的有效属性位置是“类型”。此块中的所有属性都将被忽略。

似乎我已经尝试了所有可能的布局,但无济于事——要么解决方案无法构建,要么模拟不起作用,要么 StyleCop 抱怨!

有谁知道一种方法来设置这些,以便一切都快乐?还是在这种情况下我将不得不忽略 StyleCop 警告?

0 投票
4 回答
5477 浏览

asp.net-mvc - 注释 ASP.NET MVC 控制器

我是 Stylecop 的忠实粉丝,我始终遵循它的指导方针。我也遵循这样的指导方针,即注释应该为代码带来附加值,而不是重复代码正在做的事情。

在遵循有关 ASP.NET MVC 控制器及其相关操作的评论指南时,我遇到了一些麻烦:我无法考虑要执行操作的评论,也无法考虑控制器。

让我们假设默认HomeController和默认Index操作,这是我正在使用的评论,但我不觉得它们提供任何附加值。

我应该在控制器上使用什么样式的注释及其可以提供附加值并增加注释有用性的操作?您已经使用了哪些评论?

0 投票
1 回答
2509 浏览

c# - StyleCop 使用 XDocument / XElement / XAttribute 快乐地创建 Xml

我喜欢使用以下格式创建 xml:

它看起来很容易阅读并且有点像标签式 XML 文档(在我看来)。StyleCop 对格式非常不满意。我收到很多这样的错误:

SA1116:如果方法参数位于不同的行,则第一个参数必须从方法名称下方的行开始。

SA1118:参数跨越多行。如果参数很短,请将整个参数放在一行中。否则,将参数的内容保存在临时变量中,并将临时变量作为参数传递。

我能做些什么来让 StyleCop 开心并且代码可读?我知道我可以禁用 StyleCop 规则,但团队希望为所有非 XML 创建代码保留这些规则。我可以选择性地抑制以这种方式创建 XML 的每个方法中的规则,但这看起来很痛苦并且变得丑陋。有什么建议么?

0 投票
5 回答
2690 浏览

c# - 将大括号用于变量范围的目的是错误的吗?

我有时使用大括号来隔离代码块,以避免以后错误地使用变量。例如,当我SqlCommand在同一个方法中放置多个 s 时,我经常复制粘贴代码块,最后混合名称并执行两次某些命令。添加大括号有助于避免这种情况,因为SqlCommand在错误的地方使用错误会导致错误。这是一个插图:

现在,StyleCop 会在每次块跟随空行时显示警告。另一方面,不放空行会使代码更难理解。

所以,

  1. 仅出于可变范围的目的使用大括号创建代码块有什么问题吗?

  2. If it's all right, how to make it more readable without violating StyleCop rules?

0 投票
1 回答
1674 浏览

sql-server - SQL Server 的 StyleCop 等效项?

有没有像StyleCop for SQL Server 这样的工具?
我们需要与 StyleCop 相同的功能(强制执行一组样式和一致性规则)。

[附加功能]:与 SQLServer Management Studio 集成会很酷。

0 投票
6 回答
5919 浏览

.net - Stylecop 设置在什么时候不再有用并开始变得烦人?

我在一个团队中工作,我们在 StyleCop 中使用广泛的规则集,我想知道对于这样的工具停止有用并开始变得烦人的一般观点是什么想法。我们还使用 GhostDoc,因此代码中充满了 XML 注释,这使得代码更难阅读和审查。我对 XML 注释没有任何问题,并且发现它们在某些地方非常有用,但是每个字段和属性都真的需要它们吗?

我们有一个令人钦佩的目标,“每个项目在构建时必须有 0 个警告”,但这个目标肯定需要违反合理的 StyleCop 规则集,否则宝贵的时间会浪费在“修复”StyleCop 警告的原因上。

对此有何想法?

编辑 我现在实际上想知道像 stylecop 这样的工具的论点是什么?为什么不放弃它,让合理的编码标准和良好的代码审查来处理剩下的事情呢?尤其是在一个优秀的胜任团队中?当然,获得 0 个警告的任务实际上会增加价值,因为所有警告都是相关的。

我认为 GhostDoc 的唯一优势是它可以为您从头开始编写 XML 注释节省几秒钟的时间。我认为您不应该在不编辑的情况下接受生成的评论——这可能会适得其反。

这是 GhostDoc 生成的 xml 注释所满足的 Stylecop 规则(SA1642:ConstructorSummaryDocumentationMustBeginWithStandardText)的组合 - 是否在一天结束时添加任何值?

0 投票
6 回答
4932 浏览

c# - CA1500 vs. SA1309 - 谁赢了?

我先说我理解代码分析和 StyleCop 都是作为指导方针的,而且许多人还是选择忽略这些。但话虽如此,我想看看关于这两条规则的普遍共识是什么。

规则 CA1500说不要使参数名称和私有字段名称相同。

另一方面,规则 SA1309说不要在成员前面加上下划线或“m_”。

这使我们几乎没有选择将私有支持字段与其相应参数区分开来。举这些例子。

SA1309 抱怨:

CA1500 抱怨:

我有什么选择?我不想创建私有支持字段 PascalCase,因为这是(我相信相当普遍的)公共字段/属性的约定。而且我不想重命名其中一个,只是为了解决歧义。

所以我只剩下上述两个之一,这将要求我取消 SA/CA 规则之一。

你们一般都做什么?更重要的是,这些规则的作者认为您应该做什么(因为在他们的文档中都没有提供替代解决方案)?

0 投票
7 回答
300 浏览

c# - 如何更改太大的文件(从 StyleCop 收到警告)?

我收到 StyleCop 对我的文件发出的警告。

  • 警告 1 CR0005:文件非常长,有 508 行。请考虑重构以使其少于 500 行。

  • 警告 2 CR0002:方法太长。它有 58 行长。考虑重构以使其不超过 50 行。

你们是如何更改代码的?这方面的最佳做法是什么?我不知道把我的代码分成更小的代码——害怕让我的代码变得如此复杂。

所以,请帮助^_^!

南。