Skip to main content

Consultas Java CodeQL para Qualidade de Código

Explore as consultas que CodeQL utiliza para analisar a qualidade do código escrito em Java.

Code Quality utiliza as seguintes consultas CodeQL para analisar o código Java e detectar problemas de qualidade de código em:

  • Sua ramificação padrão, com os resultados exibidos no painel "Descobertas padrão" do repositório
  • Solicitações de pull, com descobertas mostradas como comentários feitos por github-code-quality[bot]

Copilot Autofix Sugestões são fornecidas para as descobertas sempre que possível.

Nome da consultaCategoriaSeverity
Acesso à API interna do JDK sem suporteManutenibilidadeRecomendação
A variável boxed nunca é nulaManutenibilidadeAviso
Converter de abstrato para coleção concretaManutenibilidadeAviso
A classe tem o mesmo nome que a super classeManutenibilidadeRecomendação
Nomes de método confusos devido à capitalizaçãoManutenibilidadeRecomendação
Sobrecarga confusa de métodosManutenibilidadeRecomendação
Antipadrão de interface constanteManutenibilidadeRecomendação
O conteúdo do contêiner nunca é acessadoManutenibilidadeErro
Teste ineficiente de cadeia de caracteres vaziaManutenibilidadeRecomendação
Construtor de cadeia de caracteres ineficienteManutenibilidadeRecomendação
A classe interna pode ser estáticaManutenibilidadeRecomendação
A interface não pode ser implementadaManutenibilidadeAviso
Javadoc possui tag 'throws' impossívelManutenibilidadeRecomendação
Recuo enganosoManutenibilidadeAviso
Anotação '@Override' ausenteManutenibilidadeRecomendação
Espaço ausente no literal de cadeia de caracteresManutenibilidadeRecomendação
Simular todos os métodos públicos de uma classe pode indicar que o teste de unidade está testando coisas demaisManutenibilidadeRecomendação
Rótulo sem maiúsculas de minúsculas na instrução switchManutenibilidadeRecomendação
Caracteres de controle e espaço em branco não explícitosManutenibilidadeAviso
Possível confusão entre variáveis locais e camposManutenibilidadeRecomendação
Marcas Javadoc @param espúriasManutenibilidadeRecomendação
Chamada sutil ao método herdadoManutenibilidadeAviso
Sublinhado usado como identificadorManutenibilidadeRecomendação
Variável local não lidaManutenibilidadeRecomendação
Classes e interfaces não utilizadosManutenibilidadeRecomendação
Argumento de formato não utilizadoManutenibilidadeAviso
Rótulo não utilizadoManutenibilidadeRecomendação
Uso de VisibleForTesting no código de produçãoManutenibilidadeAviso
Verificação nula inútilManutenibilidadeAviso
Parâmetro inútilManutenibilidadeRecomendação
ToString inútil na cadeia de caracteresManutenibilidadeRecomendação
Teste de tipo inútilManutenibilidadeAviso
Índice de matriz fora dos limitesFiabilidadeErro
Caractere passado para o construtor de StringBuffer ou StringBuilderFiabilidadeErro
Comparação de valores idênticosFiabilidadeErro
Condição de loop constanteFiabilidadeAviso
O conteúdo do contêiner nunca é inicializadoFiabilidadeErro
Tamanho do contêiner em comparação com zeroFiabilidadeAviso
Continuar a instrução que não continuaFiabilidadeAviso
Verificações de tipo contraditórioFiabilidadeErro
A expressão desreferenciada pode ser nulaFiabilidadeAviso
A variável desreferenciada é sempre nulaFiabilidadeErro
A variável desreferenciada pode ser nulaFiabilidadeAviso
Chamada direta para um método run()FiabilidadeRecomendação
Não chamar finalize()FiabilidadeErro
O bloqueio verificado duas vezes não é thread-safeFiabilidadeErro
O método Equals não inspeciona o tipo de argumentoFiabilidadeErro
Igualdade em tipos incomparáveisFiabilidadeErro
Equals ou hashCode em arraysFiabilidadeErro
EscapeFiabilidadeAviso
Expondo a representação internaFiabilidadeRecomendação
A expressão sempre é avaliada com o mesmo valorFiabilidadeAviso
Valor de hash sem definição de hashCodeFiabilidadeErro
Status de erro da chamada ignoradoFiabilidadeRecomendação
Membro de serialização ignorado da classe de registroFiabilidadeAviso
Conversão implícita de matriz em cadeia de caracteresFiabilidadeRecomendação
Inconsistência em equals e hashCodeFiabilidadeErro
Sincronização inconsistente de getter e setterFiabilidadeErro
Fluxo de saída ineficienteFiabilidadeAviso
Construtor primitivo ineficienteFiabilidadeRecomendação
Uso ineficiente do iterador de conjunto de chavesFiabilidadeRecomendação
Encapsulamento iterável de um iteradorFiabilidadeAviso
Iterator que implementa IterableFiabilidadeAviso
Deslocamento à esquerda por mais do que a largura do tipoFiabilidadeAviso
Anotação ausente @Nested na classe de teste interna JUnit 5FiabilidadeAviso
Ausência de captura de NumberFormatExceptionFiabilidadeRecomendação
Argumento de formato ausenteFiabilidadeErro
Invocação de método não final no construtorFiabilidadeErro
Substituição não sincronizada do método sincronizadoFiabilidadeAviso
Não seguro para threads (thread-safe)FiabilidadeAviso
Possível vazamento de recursos do banco de dadosFiabilidadeAviso
Possível vazamento de recursos de entradaFiabilidadeAviso
Potencial vazamento de recursos de saídaFiabilidadeAviso
Condição de corrida na inicialização de objeto de bloqueio com verificação duplaFiabilidadeAviso
Teste de igualdade de referência para tipos encapsuladosFiabilidadeErro
Resultado da conversão de multiplicação para um tipo mais amploFiabilidadeAviso
Publicação seguraFiabilidadeAviso
AutoatribuiçãoFiabilidadeErro
Formato de data suspeitoFiabilidadeAviso
Sincronização em tipos ou cadeias de caracteres em caixaFiabilidadeErro
Incompatibilidade de tipos no acesso ao contêinerFiabilidadeErro
Incompatibilidade de tipos na modificação do contêinerFiabilidadeErro
Cláusula catch inacessívelFiabilidadeAviso
Uso de String#replaceAll com um primeiro argumento que não seja uma expressão regularFiabilidadeRecomendação
Uso de toString() padrãoFiabilidadeRecomendação
Teste de comparação inútilFiabilidadeAviso
O espaço em branco contradiz a precedência do operadorFiabilidadeAviso
Comparação de NaN incorretaFiabilidadeErro
Nenhuma thread definida para java.util.concurrent.ScheduledThreadPoolExecutorFiabilidadeRecomendação