Skip to main content

Consultas de CodeQL em C# para a Qualidade do Código

Explore as consultas que CodeQL usa para analisar a qualidade do código escrito em C#.

Code Quality usa as seguintes consultas CodeQL para analisar o código C# 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]

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

Nome da consultaCategoriaSeverity
Bloquear código com um único Response.Write()ManutenibilidadeRecomendação
Chamada para método obsoletoManutenibilidadeAviso
A classe tem o mesmo nome que a super classeManutenibilidadeRecomendação
A classe implementa o ICloneableManutenibilidadeRecomendação
Condição constanteManutenibilidadeAviso
O conteúdo do contêiner nunca é acessadoManutenibilidadeErro
Campo de máscara de campo na superclasseManutenibilidadeAviso
Condicional inútilManutenibilidadeAviso
Membro de sombras de variável de escopo localManutenibilidadeRecomendação
Perdi a oportunidade de usar 'readonly'ManutenibilidadeRecomendação
Oportunidade de "uso" perdidaManutenibilidadeRecomendação
Oportunidade perdida de usar TudoManutenibilidadeRecomendação
Oportunidade perdida de usar o CastManutenibilidadeRecomendação
Oportunidade perdida de usar OfTypeManutenibilidadeRecomendação
Oportunidade perdida de usar SelectManutenibilidadeRecomendação
Oportunidade perdida de usar WhereManutenibilidadeRecomendação
Oportunidade ternária perdidaManutenibilidadeRecomendação
Instruções 'if' aninhadas podem ser combinadasManutenibilidadeRecomendação
Seleção RedundanteManutenibilidadeAviso
Uso Redundante de ToString()ManutenibilidadeRecomendação
Campo estático escrito pelo método de instânciaManutenibilidadeRecomendação
Expressão booliana desnecessariamente complexaManutenibilidadeRecomendação
Rótulo não utilizadoManutenibilidadeAviso
Atribuição inútil à variável localManutenibilidadeAviso
Chamada inútil para GetHashCode()ManutenibilidadeRecomendação
Um bloqueio é mantido durante uma esperaFiabilidadeAviso
A chamada para 'System.IO.Path.Combine' pode remover silenciosamente seus argumentos anterioresFiabilidadeRecomendação
Chamar o GC. Collect()FiabilidadeAviso
Chamar ReferenceEquals(...) em expressões de tipo de valorFiabilidadeErro
Chamadas para código não gerenciadoFiabilidadeRecomendação
Conversão de 'this' em um parâmetro de tipoFiabilidadeRecomendação
Caractere passado para o construtor StringBuilderFiabilidadeErro
Comparação de valores idênticosFiabilidadeAviso
O conteúdo do contêiner nunca é inicializadoFiabilidadeErro
Tamanho do contêiner em comparação com zeroFiabilidadeAviso
A variável desreferenciada é sempre nulaFiabilidadeErro
A variável desreferenciada pode ser nulaFiabilidadeAviso
Downcast duvidoso de "this"FiabilidadeAviso
Testagem de tipo duvidosa de 'this'FiabilidadeAviso
Ramificação vazia de condicional ou corpo de loop vazioFiabilidadeAviso
Declaração de bloqueio vaziaFiabilidadeAviso
Verificação de igualdade em valores de ponto flutuanteFiabilidadeAviso
Método Equals em coleçõesFiabilidadeRecomendação
Igualdade em tipos incomparáveisFiabilidadeErro
Expondo a representação internaFiabilidadeRecomendação
Sincronização inútil no campoFiabilidadeErro
Cláusula catch genéricaFiabilidadeRecomendação
Valor de hash sem definição do GetHashCodeFiabilidadeAviso
Conversão de matriz impossívelFiabilidadeErro
Sequência de bloqueio inconsistenteFiabilidadeErro
Uso ineficiente de ContainsKeyFiabilidadeRecomendação
Formatação de cadeia de caracteres inválidaFiabilidadeErro
Utilizando o comando 'lock' para bloquear o objeto 'this'FiabilidadeAviso
Chamada de descarte ausente no IDisposable localFiabilidadeAviso
Loops aninhados com a mesma variávelFiabilidadeAviso
Argumento nulo para Equals(object)FiabilidadeAviso
Comparação off-by-one em relação ao comprimento do contêinerFiabilidadeErro
Tratamento de erro ruim: captura de NullReferenceExceptionFiabilidadeAviso
Tratamento de erro ruim: bloco de captura vazioFiabilidadeRecomendação
Possível perda de precisãoFiabilidadeErro
Uso potencialmente perigoso da lógica de não curto-circuitoFiabilidadeErro
O valor da propriedade não é usado ao definir uma propriedadeFiabilidadeAviso
Chamada recursiva para Equals(object)FiabilidadeErro
Relançamento de variável de exceçãoFiabilidadeAviso
Auto-atribuiçãoFiabilidadeErro
Concatenação de string em loopFiabilidadeRecomendação
Criação do StringBuilder em loopFiabilidadeRecomendação
Conversão não verificada no método EqualsFiabilidadeAviso
Código não gerenciadoFiabilidadeRecomendação
Uso de ToString() padrãoFiabilidadeAviso