为了更好或更坏,我们现在有一个 VB.NET 编码标准文档,该文档基于StyleCop强制执行的C#编码标准。
例如
我倾向于认为:
如果它在需求文档中 应该通过自动检查 系统
我正在寻找(理想上是免费的)工具来检查VB.NET代码的规则,因为这些是没有进入编译输出的样式问题,FxCop没用。
(我个人会匹配而不是我们只检查重要的事情,比如重复的代码和每个类的单一合理性(所以没有更多的千行类!),但是因为我需要保持编码标准文档,我希望有一个工具来帮助我这样做。)
另见Enforcing using the class name whenever a shared member is accessed.
关于赏金。
我正在寻找一个VB.NET代码检查工具列表,简要总结了每个工具可以做什么及其局限性。如果工具不是免费的,请包括一些理想的费用。
有没有人有使用CodeRush/Refactor的经验!或者使用VB.NET ReSharper来检查这种类型的编码风格问题?
答案 0 :(得分:10)
我知道没有免费的源代码分析工具,具有良好的VB支持。但是,至少有两种商业工具可能适用:
就个人而言,我更喜欢CodeIt.Right规则创作机制,所以如果计划进行大量的自定义规则开发,我会赞成。但是,如果您只想使用开箱即用的规则,Code Auditor会提供比CodeIt.Right更多的代码样式规则,其中大多数内置规则针对编译的IL(如FxCop)。
答案 1 :(得分:6)
我所知道的只有:
当然,这仅适用于已编译的程序集,因此不提供与StyleCop相同的功能,当然也无法帮助完成命名方案。
然而,最接近的是:
Aivosto's Project Analyzer v9.0 for Visual Basic, VB.NET and VBA
完整版本不是免费的,但这是我能找到的最接近StyleCop for VB.NET的东西。
对于Microsoft的StyleCop的VB.NET版本有很多要求,例如code.msdn.microsoft.com网站上this thread中的版本。同样的线程也可以很好地了解VB.NET版本不存在的原因。
答案 2 :(得分:1)
我每天都使用ReSharper,我觉得它对于代码格式化和解决命名问题都很好。它允许配置必须如何强制命名,如何显示问题(提示,建议,警告等)并提供精确的代码格式化程序(空格,paranthesis,换行符,此限定符等)。
请注意,我不知道它是否可以在批处理模式下运行。
答案 3 :(得分:0)
VB编译器中已经内置了一个非常好的样式工具。它被称为Option Explicit On,将其置于源代码文件的顶部或使用Tools + Options + Project和Solutions + VB Defaults,Option Explicit = On。如果之前未启用,则在更改后编译代码时可能会出现大量错误。
如果它是干净的或已经打开,请考虑您已经95%接近编写干净的C#代码并且该语言不再重要。
答案 4 :(得分:0)
默认情况下启用选项显式是一个好主意,应该是标准做法。我认为它应该在开箱即用的VS中默认打开。但它并没有接近执行StyleCop为C#做的开箱即用的规则,也不允许你创建自己的规则。
StyleCop存在的全部原因是因为FxCop仅适用于已编译的程序集,因此可以将Web项目放在一个类似的工具中。使用StyleCop,Web开发人员可以获得相同的强大规则实施和紧密的VS集成。对于任何C#开发人员来说,它都是一个很棒的工具。
不幸的是,它只具有C#功能,VB版本可以满足大型社区需要类似的东西。