Предупреждение анализа кода Visual Studio 2010 CA1704 для класса с именем MultiString
У меня проблемы с инструментом анализа кода в Visual Studio 2010; У меня есть класс, используемый для управления несколькими строками, поэтому я назвал свой класс MultiString
, Когда я запускаю инструмент анализа кода, я получаю предупреждение:
CA1704: Microsoft.Naming: исправьте написание "Multi" в имени типа "MultiString".
Та же проблема возникает, когда используется термин multiString
как имя параметра или IsMultiApplicationCard
как имя свойства.
Благодаря теме " Анализ кода" - CA1704: исправьте написание "P". Я обнаружил, что термин multi по умолчанию не распознается. Теперь мне интересно, почему (я не носитель языка). Разве не правильное слово multi? Какое слово я должен использовать вместо этого? Или вы бы предложили использовать Multiapplication и Multistring?
2 ответа
MultiString
анализируется с помощью анализа кода в multi, string
, которые затем проверяются по словарям. Multi
является допустимым префиксом для слова, но не слово само по себе, т.е. multicolored
это одно слово, поэтому оно не должно быть написано multi colored
, По этой причине стандартный словарь, поставляемый Microsoft в C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\CustomDictionary.xml
явно указывает multi
как непризнанный; это в свою очередь означает, что добавление Multi
Пользовательский словарь неэффективен: Code Analysis все равно отклонит его, но не объяснит, почему ваша словарная статья неэффективна!
Вам лучше всего использовать вариант Multistring
(как вы сами отметили); Вторым лучшим будет подавление CA1704 для этого конкретного случая; по-видимому, администратор может отредактировать стандартный словарь, но это потребуется повторять после любых обновлений, и это выглядит довольно грязным трюком.
См. http://msdn.microsoft.com/en-us/library/bb264492.aspx?ppud=4 для получения подробной информации о том, как исправить это "нарушение". "Multi" отсутствует в словаре Microsoft. Вы можете изменить его, скажем, "Multiple"... или добавить "Multi" в пользовательский словарь.