无论何时访问共享成员,都要强制使用类名

时间:2010-01-20 17:44:57

标签: vb.net coding-style

我们有一个编码标准,说明必须使用类名调用所有共享(静态)字段和方法。 E.g。

NameOfClass.whatever

而不是

whatever  

我们可以使用一种工具来检查这种情况吗? (同样适用于模块)

对不起,我应该更清楚一点,我们正在使用VB.NET。


这是我的意思的一个更大的例子。

Public Class Class1
    Public Shared Sub SharedMethod()

    End Sub

    Public Shared sharedField As Integer

    Public Sub NotSharedMethod()
        'this next line shold be written as Class1.SharedMethod
        SharedMethod()

        'this next line shold be written as Class1.sharedField
        sharedField = 5
    End Sub

End Class

另见What StyleCop like tools are there for VB.NET

5 个答案:

答案 0 :(得分:2)

当然,只需在custom rule中创建StyleCop即可。然后将StyleCop的使用合并到自动构建过程中。

抱歉,我甚至没有意识到StyleCop没有VB.NET版本。您需要的是VB.NET的静态分析工具。基于此thread,看起来Project Analyzer是一个选项。不幸的是,这不是免费的。

来自网站:

  

维护。为帮助维护,Project Analyzer允许您实施编码标准[。]

无论使用哪种工具,请确保将其合并到自动构建过程中。

答案 1 :(得分:2)

是,

使用 StyleCop 并编写自定义规则进行检查。

这是StyleCop的reference to check how to write custom-rule

alt text

答案 2 :(得分:2)

在项目属性>编译时,您可以将“Instance Variable access shared member”的警告配置设置为Error,它应该生成编译器错误而不是警告。

我不确定你是如何为所有项目做的。您可以更改项目模板以包含所有新项目的选项。

答案 3 :(得分:1)

对不起,我从未找到过这方面的好工具。

答案 4 :(得分:0)

您可以将FxCop用于此目的,并编写自定义规则。 Here is a good site that explains how to write custom FxCop rules