Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Свойство | Значение |
---|---|
Идентификатор правила | CA1505 |
Заголовок | Избегайте кода, неудобного для поддержки |
Категория | Ремонтопригодность |
Исправление является критическим или не критическим | Не критическое |
Пороговое значение по умолчанию | 10 |
Включен по умолчанию в .NET 9 | No |
Тип, метод, поле, свойство или событие имеет низкое значение индекса удобства обслуживания.
Правило сообщает о нарушении, если индекс доступности типа, метода, поля, свойства или события меньше 10. Однако пороговое значение можно настроить.
Индекс удобства поддержки вычисляется с помощью следующих метрик: строк кода, объема программы и цикломатической сложности. (Том программы — это мера сложности понимания типа или метода, основанного на количестве операторов и операндов в коде. Цикломатическая сложность — это мера структурной сложности типа или метода. Дополнительные сведения о метриках кода см. в разделе Измерение сложности и удобства поддержки управляемого кода.
Низкий индекс удобства поддержки означает, что тип или метод скорее всего трудно поддерживать, поэтому его следует переработать.
Чтобы устранить это нарушение, переработайте тип или метод и попробуйте разделить его на меньшие и более специализированные типы или методы.
Это предупреждение можно отключить, если тип или метод невозможно разделить, или если он считается удобным для поддержки, несмотря на большой размер.
Примечание
В этом правиле могут отображаться предупреждения о ложноположительных срабатываниях, если применяются все указанные ниже действия.
- Вы используете Visual Studio 2022 версии 17.5 или более поздней версии с более старой версией пакета SDK для .NET, то есть .NET 6 или более ранней версии.
- Вы используете анализаторы из пакета SDK для .NET 6 или более старой версии пакетов анализатора, например Microsoft.CodeAnalysis.FxCopAnalyzers.
Ложные срабатывания обусловлены критическим изменением компилятора C#. Рассмотрите возможность использования более нового анализатора, содержащего исправление для предупреждений ложноположительных срабатываний. Обновление до Microsoft.CodeAnalysis.NetAnalyzers версии 7.0.0-preview1.22464.1 или более поздней версии или использование анализаторов из пакета SDK для .NET 7.
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable CA1505
// The code that's violating the rule is on this line.
#pragma warning restore CA1505
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none
в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.CA1505.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.
Пороговое значение, с помощью которого это правило запускается, и типы символов для анализа. Допустимые типы символов:
Assembly
Namespace
Type
Method
Field
Event
Property
Создайте текстовый файл с именем CodeMetricsConfig.txt.
Добавьте требуемое пороговое значение в текстовый файл в следующем формате:
txtCA1505: 20
В этом примере правило настраивается для запуска, если индекс доступности типа, метода, поля, свойства или события меньше 20.
txtCA1505(Method): 5 CA1505(Type): 15
В этом примере правило настраивается для запуска, если индекс удобства обслуживания метода меньше 5 или индекс удобства обслуживания типа меньше 15. В этом файле конфигурации правило будет продолжать отмечать поля, свойства и события, индекс обслуживания которых меньше порогового значения по умолчанию (10).
В файле проекта пометьте действие сборки файла конфигурации как AdditionalFiles. Например:
XML<ItemGroup> <AdditionalFiles Include="CodeMetricsConfig.txt" /> </ItemGroup>
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: