Использование CustomDictionary.xml в анализе кода Visual Studio для идентификаторов в необычном регистре

Например, такой идентификатор, как iPhone. Когда я запустил анализ кода, он выдал мне эту ошибку:

CA1709 : Microsoft.Naming : исправьте регистр «i» в имени пространства имен «iPhone.Example», изменив его на «I».

Я попытался добавить запись в CustomDictionary.xml следующим образом:

<Words>
    <Recognized>
        <Word>iphone</Word>
    </Recognized>
</Words>

Затем он по-прежнему выдавал мне ту же ошибку и еще одну, а именно:

CA1702 : Microsoft.Naming : составное слово «iPhone» в имени пространства имен «iPhone.Example» существует как отдельный термин. Если предполагается, что вы используете одно слово, укажите его как «iphone».

Затем я добавил еще несколько правил:

<Compound>
    <Term CompoundAlternate="IPhone">iphone</Term>
</Compound>
<DiscreteExceptions>
    <Term>iphone</Term>
</DiscreteExceptions>
<Acronyms>
    <CasingExceptions>
        <Acronym>iPhone</Acronym>
    </CasingExceptions>
</Acronyms>

Но это не дало никакой разницы. Можно ли как-то добавить такое исключение?

Заранее спасибо.


person denni    schedule 26.04.2011    source источник


Ответы (1)


Ничто из того, что вы добавляете в словарь, не позволит избежать исходного нарушения CA1709, поскольку проблема не имеет ничего общего с орфографией. Вместо этого проблема заключается в отсутствии заглавной буквы в первой букве, что нарушает соглашение о регистре Pascal для имен пространств имен.

person Nicole Calinoiu    schedule 26.04.2011
comment
Спасибо за ответы. Словарь также предлагает столбец CasingExceptions, поэтому я думаю, что он должен обрабатывать больше, чем просто правописание. Итак, есть идеи, как это сделать, не подавляя ошибку? - person denni; 26.04.2011
comment
Содержимое CasingExceptions используется для других целей (например, для различения частей правила CA1709, состоящих из 2 и 3 букв, состоящих только из заглавных букв и паскалей). Они не используются частью логики правил CA1709, которая проверяет, должна ли первая буква имени пространства имен быть в верхнем регистре. - person Nicole Calinoiu; 27.04.2011
comment
Хорошо, в таком случае это действительно невозможно сделать. Спасибо, что нашли время ответить на него, хотя это не совсем тот ответ, который я ищу :-) - person denni; 28.04.2011