{"meta":{"title":"Запросы Java CodeQL для качества кода","intro":"Изучите запросы, которые CodeQL использует для анализа качества кода, написанного на Java.","product":"Безопасность и качество кода","breadcrumbs":[{"href":"/ru/code-security","title":"Безопасность и качество кода"},{"href":"/ru/code-security/reference","title":"Reference"},{"href":"/ru/code-security/reference/code-quality","title":"Качество кода"},{"href":"/ru/code-security/reference/code-quality/codeql-queries","title":"Запросы CodeQL"},{"href":"/ru/code-security/reference/code-quality/codeql-queries/java-queries","title":"Java-запросы"}],"documentType":"article"},"body":"# Запросы Java CodeQL для качества кода\n\nИзучите запросы, которые CodeQL использует для анализа качества кода, написанного на Java.\n\nCode Quality использует следующие запросы CodeQL для анализа кода Java и выявления проблем с качеством кода по:\n\n* Ваша **стандартная ветка**, с результатами, отображаемыми на панели управления репозитория \"Стандартные выводы\"\n* \n              **Pull requests**, при этом выводы отображаются как комментарии, сделанные `github-code-quality[бот]`\n\nCopilot Autofix предлагаются предложения по результатам, где это возможно.\n\n<div class=\"ghd-tool rowheaders\">\n\n| Имя запроса | Категория | Severity |\n| --- | --- | --- |\n| \n              [Доступ к неподдерживаемому внутреннему API JDK](https://codeql.github.com/codeql-query-help/java/java-jdk-internal-api-access/) | Ремонтопригодность | Recommendation |\n| \n              [Переменная в коробке никогда не является нулевой](https://codeql.github.com/codeql-query-help/java/java-non-null-boxed-variable/) | Ремонтопригодность | Предупреждение |\n| \n              [Отливка от абстрактной к конкретной коллекции](https://codeql.github.com/codeql-query-help/java/java-abstract-to-concrete-cast/) | Ремонтопригодность | Предупреждение |\n| \n              [Класс имеет то же название, что и суперкласс](https://codeql.github.com/codeql-query-help/java/java-class-name-matches-super-class/) | Ремонтопригодность | Recommendation |\n| \n              [Запутанные названия методов из-за заглавной буквы](https://codeql.github.com/codeql-query-help/java/java-confusing-method-name/) | Ремонтопригодность | Recommendation |\n| \n              [Запутанная перегрузка методов](https://codeql.github.com/codeql-query-help/java/java-confusing-method-signature/) | Ремонтопригодность | Recommendation |\n| \n              [Постоянный антипаттерн интерфейса](https://codeql.github.com/codeql-query-help/java/java-constants-only-interface/) | Ремонтопригодность | Recommendation |\n| \n              [Содержимое контейнера никогда не доступно](https://codeql.github.com/codeql-query-help/java/java-unused-container/) | Ремонтопригодность | Ошибка |\n| \n              [Неэффективный тест пустых строк](https://codeql.github.com/codeql-query-help/java/java-inefficient-empty-string-test/) | Ремонтопригодность | Recommendation |\n| \n              [Неэффективный конструктор строк](https://codeql.github.com/codeql-query-help/java/java-inefficient-string-constructor/) | Ремонтопригодность | Recommendation |\n| \n              [Внутренний класс может быть статичным](https://codeql.github.com/codeql-query-help/java/java-non-static-nested-class/) | Ремонтопригодность | Recommendation |\n| \n              [Интерфейс нельзя реализовать](https://codeql.github.com/codeql-query-help/java/java-unimplementable-interface/) | Ремонтопригодность | Предупреждение |\n| \n              [У Javadoc есть невозможный тег 'throws'](https://codeql.github.com/codeql-query-help/java/java-inconsistent-javadoc-throws/) | Ремонтопригодность | Recommendation |\n| \n              [Вводящая в заблуждение вмятины](https://codeql.github.com/codeql-query-help/java/java-misleading-indentation/) | Ремонтопригодность | Предупреждение |\n| \n              [Отсутствующая аннотация Override](https://codeql.github.com/codeql-query-help/java/java-missing-override-annotation/) | Ремонтопригодность | Recommendation |\n| \n              [Отсутствующее пространство в литерале строки](https://codeql.github.com/codeql-query-help/java/java-missing-space-in-concatenation/) | Ремонтопригодность | Recommendation |\n| \n              [Высмеивание всех публичных методов класса может указывать на слишком сильное тестирование юнит-теста](https://codeql.github.com/codeql-query-help/java/java-excessive-public-method-mocking/) | Ремонтопригодность | Recommendation |\n| \n              [Метка в операторе switch, не в case label](https://codeql.github.com/codeql-query-help/java/java-label-in-switch/) | Ремонтопригодность | Recommendation |\n| \n              [Неявные элементы управления и пробелы](https://codeql.github.com/codeql-query-help/java/java-non-explicit-control-and-whitespace-chars-in-literals/) | Ремонтопригодность | Предупреждение |\n| \n              [Возможная путаница между местными и полями](https://codeql.github.com/codeql-query-help/java/java-local-shadows-field/) | Ремонтопригодность | Recommendation |\n| \n              [Поддельные теги Javadoc @param](https://codeql.github.com/codeql-query-help/java/java-unknown-javadoc-parameter/) | Ремонтопригодность | Recommendation |\n| \n              [Тонкий вызов наследственного метода](https://codeql.github.com/codeql-query-help/java/java-subtle-inherited-call/) | Ремонтопригодность | Предупреждение |\n| \n              [Подчеркивание используется в качестве идентификатора](https://codeql.github.com/codeql-query-help/java/java-underscore-identifier/) | Ремонтопригодность | Recommendation |\n| \n              [Непрочитанная локальная переменная](https://codeql.github.com/codeql-query-help/java/java-local-variable-is-never-read/) | Ремонтопригодность | Recommendation |\n| \n              [Неиспользуемые классы и интерфейсы](https://codeql.github.com/codeql-query-help/java/java-unused-reference-type/) | Ремонтопригодность | Recommendation |\n| \n              [Аргумент неиспользованного формата](https://codeql.github.com/codeql-query-help/java/java-unused-format-argument/) | Ремонтопригодность | Предупреждение |\n| \n              [Неиспользованная этикетка](https://codeql.github.com/codeql-query-help/java/java-unused-label/) | Ремонтопригодность | Recommendation |\n| \n              [Использование VisibleForTesting в производственном коде](https://codeql.github.com/codeql-query-help/java/java-visible-for-testing-abuse/) | Ремонтопригодность | Предупреждение |\n| \n              [Бесполезная нулевая проверка](https://codeql.github.com/codeql-query-help/java/java-useless-null-check/) | Ремонтопригодность | Предупреждение |\n| \n              [Бесполезный параметр](https://codeql.github.com/codeql-query-help/java/java-unused-parameter/) | Ремонтопригодность | Recommendation |\n| \n              [Бесполезный toString on String](https://codeql.github.com/codeql-query-help/java/java-useless-tostring-call/) | Ремонтопригодность | Recommendation |\n| \n              [Бесполезный тип теста](https://codeql.github.com/codeql-query-help/java/java-useless-type-test/) | Ремонтопригодность | Предупреждение |\n| \n              [Индекс массива выходит за пределы](https://codeql.github.com/codeql-query-help/java/java-index-out-of-bounds/) | Reliability | Ошибка |\n| \n              [Символ передаётся конструктору StringBuffer или StringBuilder](https://codeql.github.com/codeql-query-help/java/java-string-buffer-char-init/) | Reliability | Ошибка |\n| \n              [Сравнение идентичных значений](https://codeql.github.com/codeql-query-help/java/java-comparison-of-identical-expressions/) | Reliability | Ошибка |\n| \n              [Постоянное условие петли](https://codeql.github.com/codeql-query-help/java/java-constant-loop-condition/) | Reliability | Предупреждение |\n| \n              [Содержимое контейнера никогда не инициализируется](https://codeql.github.com/codeql-query-help/java/java-empty-container/) | Reliability | Ошибка |\n| \n              [Размер контейнера по сравнению с нулём](https://codeql.github.com/codeql-query-help/java/java-test-for-negative-container-size/) | Reliability | Предупреждение |\n| \n              [Продолжить заявление, которое не продолжается](https://codeql.github.com/codeql-query-help/java/java-continue-in-false-loop/) | Reliability | Предупреждение |\n| \n              [Проверки противоречивых типов](https://codeql.github.com/codeql-query-help/java/java-contradictory-type-checks/) | Reliability | Ошибка |\n| \n              [Дедеферированное выражение может быть нулевым](https://codeql.github.com/codeql-query-help/java/java-dereferenced-expr-may-be-null/) | Reliability | Предупреждение |\n| \n              [Деферированная переменная всегда равна нулю](https://codeql.github.com/codeql-query-help/java/java-dereferenced-value-is-always-null/) | Reliability | Ошибка |\n| \n              [Дедетерминированная переменная может быть нулевой](https://codeql.github.com/codeql-query-help/java/java-dereferenced-value-may-be-null/) | Reliability | Предупреждение |\n| \n              [Прямой вызов методу run()](https://codeql.github.com/codeql-query-help/java/java-call-to-thread-run/) | Reliability | Recommendation |\n| \n              [Не звони `finalize()`](https://codeql.github.com/codeql-query-help/java/java-do-not-call-finalize/) | Reliability | Ошибка |\n| \n              [Дважды проверенное блокирование небезопасно по резьбе](https://codeql.github.com/codeql-query-help/java/java-unsafe-double-checked-locking/) | Reliability | Ошибка |\n| \n              [Метод эквивалентов не проверяет тип аргумента](https://codeql.github.com/codeql-query-help/java/java-unchecked-cast-in-equals/) | Reliability | Ошибка |\n| \n              [Равны на несравнимых типах](https://codeql.github.com/codeql-query-help/java/java-equals-on-unrelated-types/) | Reliability | Ошибка |\n| \n              [Equals или hashCode на массивах](https://codeql.github.com/codeql-query-help/java/java-equals-on-arrays/) | Reliability | Ошибка |\n| \n              [Экрапирование](https://codeql.github.com/codeql-query-help/java/java-escaping/) | Reliability | Предупреждение |\n| \n              [Экспозиция внутреннего представления](https://codeql.github.com/codeql-query-help/java/java-internal-representation-exposure/) | Reliability | Recommendation |\n| \n              [Выражение всегда вычисляется по одному и тому же значению](https://codeql.github.com/codeql-query-help/java/java-evaluation-to-constant/) | Reliability | Предупреждение |\n| \n              [Хешированное значение без определения хэш-кода](https://codeql.github.com/codeql-query-help/java/java-hashing-without-hashcode/) | Reliability | Ошибка |\n| \n              [Игнорированный статус ошибки вызова](https://codeql.github.com/codeql-query-help/java/java-ignored-error-status-of-call/) | Reliability | Recommendation |\n| \n              [Игнорируемый сериализационный элемент класса записи](https://codeql.github.com/codeql-query-help/java/java-ignored-serialization-member-of-record-class/) | Reliability | Предупреждение |\n| \n              [Неявное преобразование из массива в строку](https://codeql.github.com/codeql-query-help/java/java-print-array/) | Reliability | Recommendation |\n| \n              [Несогласованные эквивалентности и хэш-код](https://codeql.github.com/codeql-query-help/java/java-inconsistent-equals-and-hashcode/) | Reliability | Ошибка |\n| \n              [Несогласованная синхронизация геттера и сеттера](https://codeql.github.com/codeql-query-help/java/java-unsynchronized-getter/) | Reliability | Ошибка |\n| \n              [Неэффективный выходной поток](https://codeql.github.com/codeql-query-help/java/java-inefficient-output-stream/) | Reliability | Предупреждение |\n| \n              [Неэффективный примитивный конструктор](https://codeql.github.com/codeql-query-help/java/java-inefficient-boxed-constructor/) | Reliability | Recommendation |\n| \n              [Неэффективное использование итератора набора клавиш](https://codeql.github.com/codeql-query-help/java/java-inefficient-key-set-iterator/) | Reliability | Recommendation |\n| \n              [Итерируемая обёртка итератора](https://codeql.github.com/codeql-query-help/java/java-iterable-wraps-iterator/) | Reliability | Предупреждение |\n| \n              [Итератор, реализующий Iterable](https://codeql.github.com/codeql-query-help/java/java-iterator-implements-iterable/) | Reliability | Предупреждение |\n| \n              [Сдвиг влево, превышающий ширину шрифта](https://codeql.github.com/codeql-query-help/java/java-lshift-larger-than-type-width/) | Reliability | Предупреждение |\n| \n              [Отсутствует `@Nested` аннотация по внутреннему тесту класса JUnit 5](https://codeql.github.com/codeql-query-help/java/java-junit5-missing-nested-annotation/) | Reliability | Предупреждение |\n| \n              [Отсутствующий нюанс NumberFormatException](https://codeql.github.com/codeql-query-help/java/java-uncaught-number-format-exception/) | Reliability | Recommendation |\n| \n              [Аргумент отсутствующего формата](https://codeql.github.com/codeql-query-help/java/java-missing-format-argument/) | Reliability | Ошибка |\n| \n              [Вызов неконечного метода в конструкторе](https://codeql.github.com/codeql-query-help/java/java-non-final-call-in-constructor/) | Reliability | Ошибка |\n| \n              [Несинхронизированное переопределение синхронизированного метода](https://codeql.github.com/codeql-query-help/java/java-non-sync-override/) | Reliability | Предупреждение |\n| \n              [Не безопасна для резьбы](https://codeql.github.com/codeql-query-help/java/java-not-threadsafe/) | Reliability | Предупреждение |\n| \n              [Возможная утечка ресурсов базы данных](https://codeql.github.com/codeql-query-help/java/java-database-resource-leak/) | Reliability | Предупреждение |\n| \n              [Возможная утечка входных ресурсов](https://codeql.github.com/codeql-query-help/java/java-input-resource-leak/) | Reliability | Предупреждение |\n| \n              [Возможная утечка выходных ресурсов](https://codeql.github.com/codeql-query-help/java/java-output-resource-leak/) | Reliability | Предупреждение |\n| \n              [Состояние гонки при двойной проверке инициализации объектов блокировки](https://codeql.github.com/codeql-query-help/java/java-unsafe-double-checked-locking-init-order/) | Reliability | Предупреждение |\n| \n              [Тест равенства ссылок для коробочных типов](https://codeql.github.com/codeql-query-help/java/java-reference-equality-of-boxed-types/) | Reliability | Ошибка |\n| \n              [Результат умножения, отливанного в более широкий шрифт](https://codeql.github.com/codeql-query-help/java/java-integer-multiplication-cast-to-long/) | Reliability | Предупреждение |\n| \n              [Безопасная публикация](https://codeql.github.com/codeql-query-help/java/java-safe-publication/) | Reliability | Предупреждение |\n| \n              [Самоназначение](https://codeql.github.com/codeql-query-help/java/java-redundant-assignment/) | Reliability | Ошибка |\n| \n              [Подозрительный формат свидания](https://codeql.github.com/codeql-query-help/java/java-suspicious-date-format/) | Reliability | Предупреждение |\n| \n              [Синхронизация на коробочных типах или строках](https://codeql.github.com/codeql-query-help/java/java-sync-on-boxed-types/) | Reliability | Ошибка |\n| \n              [Несоответствие типов при доступе к контейнеру](https://codeql.github.com/codeql-query-help/java/java-type-mismatch-access/) | Reliability | Ошибка |\n| \n              [Несоответствие типов при модификации контейнера](https://codeql.github.com/codeql-query-help/java/java-type-mismatch-modification/) | Reliability | Ошибка |\n| \n              [Недостижимая оговорка о ловле](https://codeql.github.com/codeql-query-help/java/java-unreachable-catch-clause/) | Reliability | Предупреждение |\n| \n              [Использование с `String#replaceAll` первым аргументом, который не является регулярным выражением](https://codeql.github.com/codeql-query-help/java/java-string-replace-all-with-non-regex/) | Reliability | Recommendation |\n| \n              [Использование по умолчанию toString()](https://codeql.github.com/codeql-query-help/java/java-call-to-object-tostring/) | Reliability | Recommendation |\n| \n              [Бесполезный тест сравнения](https://codeql.github.com/codeql-query-help/java/java-constant-comparison/) | Reliability | Предупреждение |\n| \n              [Белое пространство противоречит приоритету операторов](https://codeql.github.com/codeql-query-help/java/java-whitespace-contradicts-precedence/) | Reliability | Предупреждение |\n| \n              [Неправильное сравнение NaN](https://codeql.github.com/codeql-query-help/java/java-comparison-with-nan/) | Reliability | Ошибка |\n| \n              [Ноль потоков, заданных для `java.util.concurrent.ScheduledThreadPoolExecutor`](https://codeql.github.com/codeql-query-help/java/java-java-util-concurrent-scheduledthreadpoolexecutor/) | Reliability | Recommendation |\n\n</div>"}