Принудительное использование имени класса при каждом обращении к общему члену - PullRequest
3 голосов
/ 20 января 2010

У нас есть стандарт кодирования, который говорит, что все общие (статические) поля и методы должны вызываться с именем класса. Э.Г.

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

см. Также Какие инструменты StyleCop доступны для VB.NET

Ответы [ 5 ]

2 голосов
/ 20 января 2010

Да,

Используйте StyleCop и напишите свое пользовательское правило для проверки.

Вот справка , чтобы проверить, как написать пользовательское правило для StyleCop.

alt text

2 голосов
/ 21 января 2010

В свойствах проекта> Компиляция вы можете установить для параметра «Предупреждение» для «разделяемого элемента доступа к переменной» экземпляра значение «Ошибка», и вместо предупреждения должно генерироваться сообщение об ошибке компилятора.

Я не уверен, как вы могли бы сделать это для всех проектов. Вы можете изменить шаблон проекта, чтобы включить эту опцию для всех новых проектов.

2 голосов
/ 20 января 2010

Конечно, просто создайте пользовательское правило в StyleCop . Затем включите использование StyleCop в свой автоматизированный процесс сборки.

Извините, я даже не осознавал, что у StyleCop не было версии VB.NET. Что вам нужно, это инструмент статического анализа для VB.NET. Исходя из этого потока , похоже, что Project Analyzer является опцией. К сожалению, это не бесплатно.

с веб-сайта:

Ведение. Чтобы помочь в обслуживании, Project Analyzer позволяет применять стандарты кодирования [.]

Какой бы инструмент вы ни использовали, убедитесь, что он включен в ваш автоматизированный процесс сборки.

1 голос
/ 10 марта 2010

Извините, я никогда не находил хорошие инструменты для этого.

0 голосов
/ 10 марта 2010

Возможно, вы сможете использовать FxCop для этой цели и написать собственное правило. Вот хороший сайт, который объясняет, как писать собственные правила FxCop .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...