{"meta":{"title":"Consultas de CodeQL em C# para a Qualidade do Código","intro":"Explore as consultas que CodeQL usa para analisar a qualidade do código escrito em C#.","product":"Qualidade de segurança e código","breadcrumbs":[{"href":"/pt/code-security","title":"Qualidade de segurança e código"},{"href":"/pt/code-security/reference","title":"Referência"},{"href":"/pt/code-security/reference/code-quality","title":"Qualidade do código"},{"href":"/pt/code-security/reference/code-quality/codeql-queries","title":"Consultas CodeQL"},{"href":"/pt/code-security/reference/code-quality/codeql-queries/csharp-queries","title":"Consultas em C#"}],"documentType":"article"},"body":"# Consultas de CodeQL em C# para a Qualidade do Código\n\nExplore as consultas que CodeQL usa para analisar a qualidade do código escrito em C#.\n\nCode Quality usa as seguintes consultas CodeQL para analisar o código C# e detectar problemas de qualidade de código em:\n\n* Sua **ramificação padrão**, com os resultados exibidos no painel \"Descobertas padrão\" do repositório\n* **Solicitações de pull**, com descobertas mostradas como comentários feitos por `github-code-quality[bot]`\n\nAutofixo do Copilot Sugestões são fornecidas para as descobertas sempre que possível.\n\n<div class=\"ghd-tool rowheaders\">\n\n| Nome da consulta | Categoria | Severity |\n| --- | --- | --- |\n| [Bloquear código com um único Response.Write()](https://codeql.github.com/codeql-query-help/csharp/cs-asp-response-write/) | Manutenibilidade | Recomendação |\n| [Chamada para método obsoleto](https://codeql.github.com/codeql-query-help/csharp/cs-call-to-obsolete-method/) | Manutenibilidade | Aviso |\n| [A classe tem o mesmo nome que a super classe](https://codeql.github.com/codeql-query-help/csharp/cs-class-name-matches-base-class/) | Manutenibilidade | Recomendação |\n| [A classe implementa o ICloneable](https://codeql.github.com/codeql-query-help/csharp/cs-class-implements-icloneable/) | Manutenibilidade | Recomendação |\n| [Condição constante](https://codeql.github.com/codeql-query-help/csharp/cs-constant-condition/) | Manutenibilidade | Aviso |\n| [O conteúdo do contêiner nunca é acessado](https://codeql.github.com/codeql-query-help/csharp/cs-unused-collection/) | Manutenibilidade | Erro |\n| [Campo de máscara de campo na superclasse](https://codeql.github.com/codeql-query-help/csharp/cs-field-masks-base-field/) | Manutenibilidade | Aviso |\n| [Condicional inútil](https://codeql.github.com/codeql-query-help/csharp/cs-useless-if-statement/) | Manutenibilidade | Aviso |\n| [Membro de sombras de variável de escopo local](https://codeql.github.com/codeql-query-help/csharp/cs-local-shadows-member/) | Manutenibilidade | Recomendação |\n| Perdi a oportunidade de usar 'readonly' | Manutenibilidade | Recomendação |\n| [Oportunidade de \"uso\" perdida](https://codeql.github.com/codeql-query-help/csharp/cs-missed-using-statement/) | Manutenibilidade | Recomendação |\n| [Oportunidade perdida de usar Tudo](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-all/) | Manutenibilidade | Recomendação |\n| [Oportunidade perdida de usar o Cast](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-cast/) | Manutenibilidade | Recomendação |\n| [Oportunidade perdida de usar OfType](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-oftype/) | Manutenibilidade | Recomendação |\n| [Oportunidade perdida de usar Select](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-select/) | Manutenibilidade | Recomendação |\n| [Oportunidade perdida de usar Where](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-where/) | Manutenibilidade | Recomendação |\n| [Oportunidade ternária perdida](https://codeql.github.com/codeql-query-help/csharp/cs-missed-ternary-operator/) | Manutenibilidade | Recomendação |\n| [Instruções 'if' aninhadas podem ser combinadas](https://codeql.github.com/codeql-query-help/csharp/cs-nested-if-statements/) | Manutenibilidade | Recomendação |\n| [Seleção Redundante](https://codeql.github.com/codeql-query-help/csharp/cs-linq-useless-select/) | Manutenibilidade | Aviso |\n| [Uso Redundante de ToString()](https://codeql.github.com/codeql-query-help/csharp/cs-useless-tostring-call/) | Manutenibilidade | Recomendação |\n| [Campo estático escrito pelo método de instância](https://codeql.github.com/codeql-query-help/csharp/cs-static-field-written-by-instance/) | Manutenibilidade | Recomendação |\n| [Expressão booliana desnecessariamente complexa](https://codeql.github.com/codeql-query-help/csharp/cs-simplifiable-boolean-expression/) | Manutenibilidade | Recomendação |\n| [Rótulo não utilizado](https://codeql.github.com/codeql-query-help/csharp/cs-unused-label/) | Manutenibilidade | Aviso |\n| [Atribuição inútil à variável local](https://codeql.github.com/codeql-query-help/csharp/cs-useless-assignment-to-local/) | Manutenibilidade | Aviso |\n| [Chamada inútil para GetHashCode()](https://codeql.github.com/codeql-query-help/csharp/cs-useless-gethashcode-call/) | Manutenibilidade | Recomendação |\n| [Um bloqueio é mantido durante uma espera](https://codeql.github.com/codeql-query-help/csharp/cs-locked-wait/) | Fiabilidade | Aviso |\n| [A chamada para 'System.IO.Path.Combine' pode remover silenciosamente seus argumentos anteriores](https://codeql.github.com/codeql-query-help/csharp/cs-path-combine/) | Fiabilidade | Recomendação |\n| [Chamar o GC. Collect()](https://codeql.github.com/codeql-query-help/csharp/cs-call-to-gc/) | Fiabilidade | Aviso |\n| [Chamar ReferenceEquals(...) em expressões de tipo de valor](https://codeql.github.com/codeql-query-help/csharp/cs-reference-equality-on-valuetypes/) | Fiabilidade | Erro |\n| [Chamadas para código não gerenciado](https://codeql.github.com/codeql-query-help/csharp/cs-call-to-unmanaged-code/) | Fiabilidade | Recomendação |\n| [Conversão de 'this' em um parâmetro de tipo](https://codeql.github.com/codeql-query-help/csharp/cs-cast-of-this-to-type-parameter/) | Fiabilidade | Recomendação |\n| [Caractere passado para o construtor StringBuilder](https://codeql.github.com/codeql-query-help/csharp/cs-stringbuilder-initialized-with-character/) | Fiabilidade | Erro |\n| [Comparação de valores idênticos](https://codeql.github.com/codeql-query-help/csharp/cs-comparison-of-identical-expressions/) | Fiabilidade | Aviso |\n| [O conteúdo do contêiner nunca é inicializado](https://codeql.github.com/codeql-query-help/csharp/cs-empty-collection/) | Fiabilidade | Erro |\n| [Tamanho do contêiner em comparação com zero](https://codeql.github.com/codeql-query-help/csharp/cs-test-for-negative-container-size/) | Fiabilidade | Aviso |\n| [A variável desreferenciada é sempre nula](https://codeql.github.com/codeql-query-help/csharp/cs-dereferenced-value-is-always-null/) | Fiabilidade | Erro |\n| [A variável desreferenciada pode ser nula](https://codeql.github.com/codeql-query-help/csharp/cs-dereferenced-value-may-be-null/) | Fiabilidade | Aviso |\n| [Downcast duvidoso de \"this\"](https://codeql.github.com/codeql-query-help/csharp/cs-downcast-of-this/) | Fiabilidade | Aviso |\n| [Testagem de tipo duvidosa de 'this'](https://codeql.github.com/codeql-query-help/csharp/cs-type-test-of-this/) | Fiabilidade | Aviso |\n| [Ramificação vazia de condicional ou corpo de loop vazio](https://codeql.github.com/codeql-query-help/csharp/cs-empty-block/) | Fiabilidade | Aviso |\n| [Declaração de bloqueio vazia](https://codeql.github.com/codeql-query-help/csharp/cs-empty-lock-statement/) | Fiabilidade | Aviso |\n| [Verificação de igualdade em valores de ponto flutuante](https://codeql.github.com/codeql-query-help/csharp/cs-equality-on-floats/) | Fiabilidade | Aviso |\n| [Método Equals em coleções](https://codeql.github.com/codeql-query-help/csharp/cs-equals-on-arrays/) | Fiabilidade | Recomendação |\n| [Igualdade em tipos incomparáveis](https://codeql.github.com/codeql-query-help/csharp/cs-equals-on-unrelated-types/) | Fiabilidade | Erro |\n| [Expondo a representação interna](https://codeql.github.com/codeql-query-help/csharp/cs-expose-implementation/) | Fiabilidade | Recomendação |\n| [Sincronização inútil no campo](https://codeql.github.com/codeql-query-help/csharp/cs-unsafe-sync-on-field/) | Fiabilidade | Erro |\n| [Cláusula catch genérica](https://codeql.github.com/codeql-query-help/csharp/cs-catch-of-all-exceptions/) | Fiabilidade | Recomendação |\n| [Valor de hash sem definição do GetHashCode](https://codeql.github.com/codeql-query-help/csharp/cs-gethashcode-is-not-defined/) | Fiabilidade | Aviso |\n| [Conversão de matriz impossível](https://codeql.github.com/codeql-query-help/csharp/cs-impossible-array-cast/) | Fiabilidade | Erro |\n| [Sequência de bloqueio inconsistente](https://codeql.github.com/codeql-query-help/csharp/cs-inconsistent-lock-sequence/) | Fiabilidade | Erro |\n| [Uso ineficiente de ContainsKey](https://codeql.github.com/codeql-query-help/csharp/cs-inefficient-containskey/) | Fiabilidade | Recomendação |\n| [Formatação de cadeia de caracteres inválida](https://codeql.github.com/codeql-query-help/csharp/cs-invalid-string-formatting/) | Fiabilidade | Erro |\n| [Utilizando o comando 'lock' para bloquear o objeto 'this'](https://codeql.github.com/codeql-query-help/csharp/cs-lock-this/) | Fiabilidade | Aviso |\n| [Chamada de descarte ausente no IDisposable local](https://codeql.github.com/codeql-query-help/csharp/cs-local-not-disposed/) | Fiabilidade | Aviso |\n| [Loops aninhados com a mesma variável](https://codeql.github.com/codeql-query-help/csharp/cs-nested-loops-with-same-variable/) | Fiabilidade | Aviso |\n| [Argumento nulo para Equals(object)](https://codeql.github.com/codeql-query-help/csharp/cs-null-argument-to-equals/) | Fiabilidade | Aviso |\n| [Comparação off-by-one em relação ao comprimento do contêiner](https://codeql.github.com/codeql-query-help/csharp/cs-index-out-of-bounds/) | Fiabilidade | Erro |\n| [Tratamento de erro ruim: captura de NullReferenceException](https://codeql.github.com/codeql-query-help/csharp/cs-catch-nullreferenceexception/) | Fiabilidade | Aviso |\n| [Tratamento de erro ruim: bloco de captura vazio](https://codeql.github.com/codeql-query-help/csharp/cs-empty-catch-block/) | Fiabilidade | Recomendação |\n| [Possível perda de precisão](https://codeql.github.com/codeql-query-help/csharp/cs-loss-of-precision/) | Fiabilidade | Erro |\n| [Uso potencialmente perigoso da lógica de não curto-circuito](https://codeql.github.com/codeql-query-help/csharp/cs-non-short-circuit/) | Fiabilidade | Erro |\n| [O valor da propriedade não é usado ao definir uma propriedade](https://codeql.github.com/codeql-query-help/csharp/cs-unused-property-value/) | Fiabilidade | Aviso |\n| [Chamada recursiva para Equals(object)](https://codeql.github.com/codeql-query-help/csharp/cs-recursive-equals-call/) | Fiabilidade | Erro |\n| [Relançamento de variável de exceção](https://codeql.github.com/codeql-query-help/csharp/cs-rethrown-exception-variable/) | Fiabilidade | Aviso |\n| [Auto-atribuição](https://codeql.github.com/codeql-query-help/csharp/cs-self-assignment/) | Fiabilidade | Erro |\n| [Concatenação de string em loop](https://codeql.github.com/codeql-query-help/csharp/cs-string-concatenation-in-loop/) | Fiabilidade | Recomendação |\n| [Criação do StringBuilder em loop](https://codeql.github.com/codeql-query-help/csharp/cs-stringbuilder-creation-in-loop/) | Fiabilidade | Recomendação |\n| [Conversão não verificada no método Equals](https://codeql.github.com/codeql-query-help/csharp/cs-unchecked-cast-in-equals/) | Fiabilidade | Aviso |\n| [Código não gerenciado](https://codeql.github.com/codeql-query-help/csharp/cs-unmanaged-code/) | Fiabilidade | Recomendação |\n| [Uso de ToString() padrão](https://codeql.github.com/codeql-query-help/csharp/cs-call-to-object-tostring/) | Fiabilidade | Aviso |\n\n</div>"}