【问题标题】:VB.Net coding guidelines [closed]VB.Net 编码指南
【发布时间】:2026-02-01 18:10:01
【问题描述】:

我们为各种客户开发小型应用程序。我现在的任务是为内部和外部程序员设置一些编码指南。

(管理层对开发一无所知,只看到将项目从一个开发人员转移到另一个开发人员的问题。客户按小时付费,开发只是整个项目的一小部分,因此代码质量不是问题)

我的第一步是为 C# 和 VB.Net 设置指南(SQL 可能稍后会出现)。

(这里的大多数代码都是用 CTRL-CCTRL-V 创建的,测试是用 F5 完成的。
我试图引入单元测试/代码审查,但这不会发生。静态分析是目前唯一的出路)

我最擅长 C#/C++(但有时会使用现有的 VB6/VBA/VB.Net 代码),因此设置 C# 指南非常容易:

  • 警告级别 4
  • 风格警察
  • FxCop
  • 代码指标(例如,圈复杂度 50)

对于 VB.Net,我需要用一些书面指南替换 StyleCop,但是如何设置 VB.Net 编译器。 就个人而言,我从来没有在没有 Option Explicit / Option Strict 等的情况下进行编码,但如果我在我们的 VB.Net 项目中这样做,我会收到数百个警告/错误(隐式转换、默认返回类型/值等)。

VB 开发人员在没有编译器警告帮助的情况下工作似乎没有问题。我认为他们的工作效率通常与 C# 开发人员没有什么不同(这更多是个人的事情)。

我不想强制执行我自己对静态检查的偏好,所以我的问题是:
VB.Net 开发的合理/最佳实践是什么警告级别?

(英语不是我的第一语言,所以我希望这听起来不像我认为 VB.Net 或 VB 开发人员在任何方面都不如 C#。我只是在 VB.Net 项目方面没有太多经验)

【问题讨论】:

标签: .net vb.net coding-style compiler-warnings


【解决方案1】:

VB.net 就相当于 C#。如果有人对此有疑问,他可以查看 Internet 上的各种 C# 到 VB.Net 的翻译器。选择 C# 还是 VB.net 只是习惯、可读性和感觉的问题。不是技术或性能问题。

从这里开始,您为 C# 声明的几乎相同的准则可用于 VB.net。所以设置相同的警告级别应该没问题......(VB.net也有可能吗?我记得你有一组选项编译器会警告你......)

问题可能是您没有像 StyleCop 这样的免费工具(但有商业工具,如 What StyleCop like tools are there for VB.NET 中所述)。

您还可以考虑购买 Visual Studio 的 Ultimate 或 Premium 版本(它们具有集成的静态分析工具)。

是的,强制使用 Option Explicit / Option Strict(至少对于新代码或正在审查的代码!)

【讨论】:

  • 请投反对票的人写一个简短的评论,说明他/她投反对票的原因吗?我真的很想知道答案是否真的有缺陷或误导。还是投票者普遍不喜欢人们说 VB.Net 不是坏事?
  • 大声笑,是的,我也对投反对票的原因感兴趣...我希望这不是宗教问题 :-)
  • +1 小问题。 Vb.Net 95% 等效于 C#,但 not exactly equivalent.
  • 以及 C# 到 VB.Net 的翻译器 all seemfailsome circumstances 下。我正在考虑开始一个标签:)