Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Правила языка в стиле кода влияют на то, как используются различные конструкции языков программирования .NET, например модификаторы и круглые скобки.
Эта категория также содержит правила, определяющие части базы кода, которые являются ненужными и могут быть рефакторингированы или удалены. Наличие ненужного кода указывает на одну или несколько следующих проблем:
- Удобочитаемость: код, который ненужно снижает удобочитаемость.
- Удобство обслуживания: код, который больше не используется после рефакторинга и не поддерживается без необходимости.
- Производительность: ненужные вычисления, не имеющие побочных эффектов и ведущие к ненужным издержкам производительности.
- Функциональные возможности: функциональная проблема в коде, которая делает требуемый код избыточным. Например, IDE0060 помечает неиспользуемые параметры, когда метод случайно игнорирует входной параметр.
Правила языка делятся на следующие категории:
- Правила стиля .NET в равной мере применяются к C# и Visual Basic. Имена параметров для этих правил начинаются с префикса
dotnet_style_
. - Правила стиля C#: правила, относящиеся к коду C#. Имена параметров для этих правил начинаются с префикса
csharp_style_
. - Правила стиля Visual Basic: правила, относящиеся к коду Visual Basic. Имена параметров для этих правил начинаются с префикса
visual_basic_style_
.
Формат опции
Многие правила языка имеют один или несколько связанных параметров для настройки предпочтительного стиля. Например, используйте простую инструкцию using (IDE0063) с соответствующим параметром csharp_prefer_simple_using_statement
, который позволяет вам выбрать, используете ли вы декларацию using
или оператор using
. Правило применяет все параметры, которые вы выбираете на указанном уровне, например предупреждение или ошибка.
Параметры языковых правил можно указать в файле конфигурации со следующим форматом:
option_name = value
(Visual Studio 2019 и более поздних версий)
или
option_name = value:severity
Value
Для каждого правила языка укажите значение, которое определяет условия выбора соответствующего стиля. Многие правила принимают значение
true
(предпочитать этот стиль) илиfalse
(не предпочитать этот стиль). Другие правила принимают значенияwhen_on_single_line
илиnever
.Серьезность (необязательно в Visual Studio 2019 и более поздних версиях)
Вторая часть правила определяет уровень серьезности правила. В .NET 9 и более поздних версиях уровень серьезности всегда учитывается— то есть внутри среды разработки и во время сборки командной строки. В .NET 8 и более ранних версиях эта настройка уровня серьезности используется только в средах разработки, таких как Visual Studio, а не во время сборки.
Если вы используете пакет SDK для .NET 8 или более раннюю версию и хотите, чтобы серьезность была уважаема во время сборки, это можно сделать одним из двух способов:
- Задайте значение <AnalysisLevel> или
<AnalysisLevelStyle>
свойство9.0
или более поздней версии или значениеpreview
. - Установите уровень серьезности, используя синтаксис конфигурации на основе идентификаторов правил для анализаторов. Синтаксис имеет вид
dotnet_diagnostic.<rule ID>.severity = <severity>
, напримерdotnet_diagnostic.IDE0040.severity = warning
. Дополнительные сведения см. в разделе об уровне серьезности.
- Задайте значение <AnalysisLevel> или
Совет
Начиная с Visual Studio 2019, можно настроить правила стиля кода из меню быстрых действий с лампочкой после нарушения стиля.
Индекс правила
Языковые и ненужные правила кода классифицируются в подкатегории, такие как предпочтения уровня выражений, параметры блока кода и параметры модификатора.
-
using
Параметры директивы - Параметры блока кода
- Элементы, воплощающие выражение
- Настройки уровня выражений
- Параметры поля
- Языковые ключевые слова и параметры типов платформ
- Предпочтения для модификаторов
- Настройки новой строки
- Настройки проверки NULL
- Предпочтения для параметров
- Предпочтения относительно круглых скобок
- Параметры сопоставления шаблонов
- Предпочтения подавления
-
This.
иme.
предпочтения -
var
Предпочтения
using
Параметры директивы
Правила стиля .NET (C# и Visual Basic):
Правила стиля C#:
Настройки блока кода
Правила стиля C#:
- Добавление фигурных скобок (IDE0011)
- Использование простого оператора using (IDE0063)
- Параметры объявления пространства имен (IDE0160, IDE0161)
- Удаление ненужных лямбда-выражений (IDE0200)
- Преобразовать в инструкции верхнего уровня (IDE0210)
- Преобразовать в программу в стиле 'Program.Main' (IDE0211)
- Использование основного конструктора (IDE0290)
- Предпочитайте System.Threading.Lock (IDE0330)
Элементы, воплощающие выражение
Правила стиля C#:
- Используйте тело выражения для конструкторов (IDE0021)
- Используйте тело выражения для методов (IDE0022)
- Используйте тело выражения для операторов (IDE0023, IDE0024)
- Используйте тело выражения для свойств (IDE0025)
- Используйте тело выражения для индексаторов (IDE0026)
- Используйте тело выражения для аксессоров (IDE0027)
- Используйте тело выражения для лямбда-функций (IDE0053)
- Используйте тело выражения для локальных функций (IDE0061)
Предпочтения уровня выражений
Правила стиля .NET (C# и Visual Basic):
- Упрощение имени (IDE0001)
- Упрощение доступа для членов (IDE0002)
- Удаление ненужных операций приведения (IDE0004)
- Добавление недостающих вариантов в выражение switch (IDE0010)
- Использование инициализаторов объектов (IDE0017)
- Использование инициализаторов коллекций (IDE0028)
- Проверка null может быть упрощена (IDE0029, IDE0030, IDE0270)
- Использование распространения значений NULL (IDE0031)
- Использование автоматически реализованного свойства (IDE0032)
- Используйте явно заданное имя кортежа (IDE0033)
- Удаление недоступного кода (IDE0035)
- Используйте выводимые имена элементов (IDE0037)
- Использование проверки "is NULL" (IDE0041)
- Использование условного выражения для назначения (IDE0045)
- Использование условного выражения для возврата (IDE0046)
- Преобразование анонимного типа в кортеж (IDE0050)
- Удаление неиспользуемых приватных членов (IDE0051)
- Удаление непрочитанных закрытых членов (IDE0052)
- Используйте составное присваивание (IDE0054, IDE0074)
- Удаление ненужных значений выражения (IDE0058)
- Удалите назначение лишних значений (IDE0059)
- Использование "System.HashCode.Combine" (IDE0070)
- Упрощение интерполяции (IDE0071)
- Упрощение условного выражения (IDE0075)
-
Преобразовать
typeof
вnameof
(IDE0082) - Удаление ненужного оператора равенства (IDE0100)
- Упрощение выражения LINQ (IDE0120)
- Пространство имен не соответствует структуре папок (IDE0130)
Правила стиля C#:
- Использование выражения throw (IDE0016)
- Объявление встроенной переменной (IDE0018)
- Упрощение выражения default (IDE0034)
- Использование локальной функции вместо лямбда-выражения (IDE0039)
- Деконструирование объявления переменной (IDE0042)
- Использование оператора index (IDE0056)
- Использование оператора "range" (IDE0057)
- Добавление недостающих вариантов в выражение switch (IDE0072)
- Удаление ненужных операторов подавления (IDE0080)
-
Упрощение
new
выражения (IDE0090) - Удалите ненужные отбрасывания (IDE0110)
- Предпочитать проверку типа null (IDE0150)
- Используйте кортеж для обмена значениями (IDE0180)
- Добавление явного приведения в цикл foreach (IDE0220)
- Используйте строковый литерал UTF-8 (IDE0230)
- Директива null является избыточной (IDE0240)
- Директива Nullable не требуется (IDE0241)
- Используйте выражение коллекции для массива (IDE0300)
- Используйте выражение коллекции для пустого значения (IDE0301)
- Используйте выражение коллекции для выделения памяти на стеке (IDE0302)
- Примените выражение коллекции для
Create()
(IDE0303) - Используйте выражение коллекции для построителя (IDE0304
- Используйте выражение коллекции для более плавного кода (IDE0305)
- Используйте выражение коллекции для создания экземпляра (IDE0306)
Правила стиля Visual Basic:
-
Удаление
ByVal
(IDE0081) -
Использовать сопоставление шаблонов (оператор
IsNot
) (IDE0084) - Упрощение создания объектов (IDE0140)
Параметры поля
Правила стиля .NET (C# и Visual Basic):
Предпочтения языковых ключевых слов против предпочтений типов фреймворков
Правила стиля .NET (C# и Visual Basic):
Предпочтения для модификаторов
Правила стиля .NET (C# и Visual Basic):
Правила стиля C#:
- Превращение локальной функции в статическую (IDE0062)
- Сделайте поля структуры доступными для записи (IDE0064)
- Структуру можно сделать "readonly" (IDE0250)
- Элемент можно сделать "только для чтения" (IDE0251)
- Создание статической анонимной функции (IDE0320)
Настройки новой строки
- Разрешить несколько пустых строк (IDE2000)
- Разрешить внедренные инструкции в одной строке (IDE2001)
- Разрешить пустые строки между последовательными скобками (IDE2002)
- Разрешить оператор сразу после блокировки (IDE2003)
- Допустить пустую строку после двоеточия в инициализаторе конструктора (IDE2004)
- Разрешить пустую строку после токена в условном выражении (IDE2005)
- Разрешить пустую строку после токена в стрелочном выражении (IDE2006)
Параметры проверки наличия нулевых значений
Правила стиля C#:
Предпочтения для параметров
Правила стиля .NET (C# и Visual Basic):
Предпочтения относительно круглых скобок
Правила стиля .NET (C# и Visual Basic):
Параметры сопоставления шаблонов
Правила стиля C#:
- Используйте сопоставление шаблонов, чтобы избежать использования 'as' с последующей проверкой на null (IDE0019)
- Используйте сопоставление шаблонов, чтобы избежать проверки "is", после которой выполняется приведение (IDE0020, IDE0038)
- Использовать выражение switch (IDE0066)
- Использование сопоставления шаблонов (IDE0078 и IDE0260)
-
Использовать сопоставление шаблонов (оператор
not
) (IDE0083) - Упрощение шаблона свойств (IDE0170)
Предпочтения подавления
Правила стиля .NET (C# и Visual Basic):
This.
и me.
настройки
Правила стиля .NET (C# и Visual Basic):
var
Предпочтения
Правила стиля C#: