Skip to main content

C# CodeQL-запросы для качества кода

Изучите запросы, которые CodeQL использует для анализа качества кода, написанного на C#.

Code Quality использует следующие запросы CodeQL для анализа кода на C# и выявления проблем с качеством кода по:

  • Ваша стандартная ветка, с результатами, отображаемыми на панели управления репозитория "Стандартные выводы"
  • Pull requests, при этом выводы отображаются как комментарии, сделанные github-code-quality[бот]

Copilot Autofix предлагаются предложения по результатам, где это возможно.

Имя запросаКатегорияSeverity
Блокируйте код одним Response.Write()РемонтопригодностьRecommendation
Метод обращения к устаревшемуРемонтопригодностьПредупреждение
Класс имеет то же название, что и суперклассРемонтопригодностьRecommendation
Класс реализует ICloneableРемонтопригодностьRecommendation
Постоянное состояниеРемонтопригодностьПредупреждение
Содержимое контейнера никогда не доступноРемонтопригодностьОшибка
Поле полевых масок в суперклассеРемонтопригодностьПредупреждение
Бесполезное условноеРемонтопригодностьПредупреждение
Член теней локальной переменной областиРемонтопригодностьRecommendation
Упущенная возможность «только для чтения»РемонтопригодностьRecommendation
Упущена возможность «использовать»РемонтопригодностьRecommendation
Упущенная возможность использовать ВсеРемонтопригодностьRecommendation
Упущенная возможность использовать CastРемонтопригодностьRecommendation
Упущенная возможность использовать OfTypeРемонтопригодностьRecommendation
Упущенная возможность использовать SelectРемонтопригодностьRecommendation
Упущенная возможность использовать WhereРемонтопригодностьRecommendation
Упущенная тернарная возможностьРемонтопригодностьRecommendation
Вложенные операторы 'if' можно комбинироватьРемонтопригодностьRecommendation
Избыточный выборРемонтопригодностьПредупреждение
Избыточный вызов ToString()РемонтопригодностьRecommendation
Статическое поле, записанное методом экземпляраРемонтопригодностьRecommendation
Чрезмерно сложное булево выражениеРемонтопригодностьRecommendation
Неиспользованная этикеткаРемонтопригодностьПредупреждение
Бесполезное присвоение локальной переменнойРемонтопригодностьПредупреждение
Бесполезный вызов GetHashCode()РемонтопригодностьRecommendation
Замок держится во время ожиданияReliabilityПредупреждение
Вызов на 'System.IO.Path.Combine' может молча отказаться от своих прежних аргументовReliabilityRecommendation
Позвоните в генерального директора. Collect()ReliabilityПредупреждение
Вызов ReferenceEquals(...) для выражений типов значенийReliabilityОшибка
Вызовы неуправляемого кодаReliabilityRecommendation
Кастинг 'this' в параметр типаReliabilityRecommendation
Символ передаётся конструктору StringBuilderReliabilityОшибка
Сравнение идентичных значенийReliabilityПредупреждение
Содержимое контейнера никогда не инициализируетсяReliabilityОшибка
Размер контейнера по сравнению с нулёмReliabilityПредупреждение
Деферированная переменная всегда равна нулюReliabilityОшибка
Дедетерминированная переменная может быть нулевойReliabilityПредупреждение
Сомнительное уныние «этого»ReliabilityПредупреждение
Сомнительный тип теста «этого»ReliabilityПредупреждение
Пустая ветвь условного, или пустого петлевого телаReliabilityПредупреждение
Оператор пустой блокировкиReliabilityПредупреждение
Проверка равенства значений с плавающей запятойReliabilityПредупреждение
Равны по коллекциямReliabilityRecommendation
Равны на несравнимых типахReliabilityОшибка
Экспозиция внутреннего представленияReliabilityRecommendation
Бесполезная синхронизация на полеReliabilityОшибка
Универсальная клауза о ловлеReliabilityRecommendation
Хешированное значение без определения GetHashCodeReliabilityПредупреждение
Невозможный набор массивовReliabilityОшибка
Несогласованная последовательность замковReliabilityОшибка
Неэффективное использование ContainsKeyReliabilityRecommendation
Некорректное форматирование строкReliabilityОшибка
Блокировка объекта 'this' в операторе блокировкиReliabilityПредупреждение
Отсутствующий вызов Dispose на локальном IDisposableReliabilityПредупреждение
Вложенные циклы с одной и той же переменнойReliabilityПредупреждение
Null аргумент на Equals(object)ReliabilityПредупреждение
Сравнение с длиной контейнера на одинReliabilityОшибка
Плохая обработка ошибок: обнаружение NullReferenceExceptionReliabilityПредупреждение
Плохая обработка ошибок: пустой блок захватаReliabilityRecommendation
Возможная потеря точностиReliabilityОшибка
Потенциально опасное использование логики без короткого замыканияReliabilityОшибка
Стоимость недвижимости не используется при установлении объектаReliabilityПредупреждение
Рекурсивный вызов к Equals(объект)ReliabilityОшибка
Переброс переменной исключенияReliabilityПредупреждение
СамоназначениеReliabilityОшибка
Конкатенация струн в циклеReliabilityRecommendation
Создание StringBuilder в циклеReliabilityRecommendation
Неотмеченное заклинание в методе EqualsReliabilityПредупреждение
Неуправляемый кодReliabilityRecommendation
Использование стандартной ToString()ReliabilityПредупреждение