{"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/enterprise-cloud@latest/code-security","title":"Qualidade de segurança e código"},{"href":"/pt/enterprise-cloud@latest/code-security/reference","title":"Referência"},{"href":"/pt/enterprise-cloud@latest/code-security/reference/code-quality","title":"Qualidade do código"},{"href":"/pt/enterprise-cloud@latest/code-security/reference/code-quality/codeql-queries","title":"Consultas CodeQL"},{"href":"/pt/enterprise-cloud@latest/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* \n              **Solicitações de pull**, com descobertas mostradas como comentários feitos por `github-code-quality[bot]`\n\nCopilot Autofix 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| \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| \n              [Chamada para método obsoleto](https://codeql.github.com/codeql-query-help/csharp/cs-call-to-obsolete-method/) | Manutenibilidade | Aviso |\n| \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| \n              [A classe implementa o ICloneable](https://codeql.github.com/codeql-query-help/csharp/cs-class-implements-icloneable/) | Manutenibilidade | Recomendação |\n| \n              [Condição constante](https://codeql.github.com/codeql-query-help/csharp/cs-constant-condition/) | Manutenibilidade | Aviso |\n| \n              [O conteúdo do contêiner nunca é acessado](https://codeql.github.com/codeql-query-help/csharp/cs-unused-collection/) | Manutenibilidade | Erro |\n| \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| \n              [Condicional inútil](https://codeql.github.com/codeql-query-help/csharp/cs-useless-if-statement/) | Manutenibilidade | Aviso |\n| \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| \n              [Oportunidade de \"uso\" perdida](https://codeql.github.com/codeql-query-help/csharp/cs-missed-using-statement/) | Manutenibilidade | Recomendação |\n| \n              [Oportunidade perdida de usar Tudo](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-all/) | Manutenibilidade | Recomendação |\n| \n              [Oportunidade perdida de usar o Cast](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-cast/) | Manutenibilidade | Recomendação |\n| \n              [Oportunidade perdida de usar OfType](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-oftype/) | Manutenibilidade | Recomendação |\n| \n              [Oportunidade perdida de usar Select](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-select/) | Manutenibilidade | Recomendação |\n| \n              [Oportunidade perdida de usar Where](https://codeql.github.com/codeql-query-help/csharp/cs-linq-missed-where/) | Manutenibilidade | Recomendação |\n| \n              [Oportunidade ternária perdida](https://codeql.github.com/codeql-query-help/csharp/cs-missed-ternary-operator/) | Manutenibilidade | Recomendação |\n| \n              [Instruções 'if' aninhadas podem ser combinadas](https://codeql.github.com/codeql-query-help/csharp/cs-nested-if-statements/) | Manutenibilidade | Recomendação |\n| \n              [Seleção Redundante](https://codeql.github.com/codeql-query-help/csharp/cs-linq-useless-select/) | Manutenibilidade | Aviso |\n| \n              [Uso Redundante de ToString()](https://codeql.github.com/codeql-query-help/csharp/cs-useless-tostring-call/) | Manutenibilidade | Recomendação |\n| \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| \n              [Expressão booliana desnecessariamente complexa](https://codeql.github.com/codeql-query-help/csharp/cs-simplifiable-boolean-expression/) | Manutenibilidade | Recomendação |\n| \n              [Rótulo não utilizado](https://codeql.github.com/codeql-query-help/csharp/cs-unused-label/) | Manutenibilidade | Aviso |\n| \n              [Atribuição inútil à variável local](https://codeql.github.com/codeql-query-help/csharp/cs-useless-assignment-to-local/) | Manutenibilidade | Aviso |\n| \n              [Chamada inútil para GetHashCode()](https://codeql.github.com/codeql-query-help/csharp/cs-useless-gethashcode-call/) | Manutenibilidade | Recomendação |\n| \n              [Um bloqueio é mantido durante uma espera](https://codeql.github.com/codeql-query-help/csharp/cs-locked-wait/) | Fiabilidade | Aviso |\n| \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| \n              [Chamar o GC. Collect()](https://codeql.github.com/codeql-query-help/csharp/cs-call-to-gc/) | Fiabilidade | Aviso |\n| \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| \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| \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| \n              [Caractere passado para o construtor StringBuilder](https://codeql.github.com/codeql-query-help/csharp/cs-stringbuilder-initialized-with-character/) | Fiabilidade | Erro |\n| \n              [Comparação de valores idênticos](https://codeql.github.com/codeql-query-help/csharp/cs-comparison-of-identical-expressions/) | Fiabilidade | Aviso |\n| \n              [O conteúdo do contêiner nunca é inicializado](https://codeql.github.com/codeql-query-help/csharp/cs-empty-collection/) | Fiabilidade | Erro |\n| \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| \n              [A variável desreferenciada é sempre nula](https://codeql.github.com/codeql-query-help/csharp/cs-dereferenced-value-is-always-null/) | Fiabilidade | Erro |\n| \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| \n              [Downcast duvidoso de \"this\"](https://codeql.github.com/codeql-query-help/csharp/cs-downcast-of-this/) | Fiabilidade | Aviso |\n| \n              [Testagem de tipo duvidosa de 'this'](https://codeql.github.com/codeql-query-help/csharp/cs-type-test-of-this/) | Fiabilidade | Aviso |\n| \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| \n              [Declaração de bloqueio vazia](https://codeql.github.com/codeql-query-help/csharp/cs-empty-lock-statement/) | Fiabilidade | Aviso |\n| \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| \n              [Método Equals em coleções](https://codeql.github.com/codeql-query-help/csharp/cs-equals-on-arrays/) | Fiabilidade | Recomendação |\n| \n              [Igualdade em tipos incomparáveis](https://codeql.github.com/codeql-query-help/csharp/cs-equals-on-unrelated-types/) | Fiabilidade | Erro |\n| \n              [Expondo a representação interna](https://codeql.github.com/codeql-query-help/csharp/cs-expose-implementation/) | Fiabilidade | Recomendação |\n| \n              [Sincronização inútil no campo](https://codeql.github.com/codeql-query-help/csharp/cs-unsafe-sync-on-field/) | Fiabilidade | Erro |\n| \n              [Cláusula catch genérica](https://codeql.github.com/codeql-query-help/csharp/cs-catch-of-all-exceptions/) | Fiabilidade | Recomendação |\n| \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| \n              [Conversão de matriz impossível](https://codeql.github.com/codeql-query-help/csharp/cs-impossible-array-cast/) | Fiabilidade | Erro |\n| \n              [Sequência de bloqueio inconsistente](https://codeql.github.com/codeql-query-help/csharp/cs-inconsistent-lock-sequence/) | Fiabilidade | Erro |\n| \n              [Uso ineficiente de ContainsKey](https://codeql.github.com/codeql-query-help/csharp/cs-inefficient-containskey/) | Fiabilidade | Recomendação |\n| \n              [Formatação de cadeia de caracteres inválida](https://codeql.github.com/codeql-query-help/csharp/cs-invalid-string-formatting/) | Fiabilidade | Erro |\n| \n              [Utilizando o comando 'lock' para bloquear o objeto 'this'](https://codeql.github.com/codeql-query-help/csharp/cs-lock-this/) | Fiabilidade | Aviso |\n| \n              [Chamada de descarte ausente no IDisposable local](https://codeql.github.com/codeql-query-help/csharp/cs-local-not-disposed/) | Fiabilidade | Aviso |\n| \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| \n              [Argumento nulo para Equals(object)](https://codeql.github.com/codeql-query-help/csharp/cs-null-argument-to-equals/) | Fiabilidade | Aviso |\n| \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| \n              [Tratamento de erro ruim: captura de NullReferenceException](https://codeql.github.com/codeql-query-help/csharp/cs-catch-nullreferenceexception/) | Fiabilidade | Aviso |\n| \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| \n              [Possível perda de precisão](https://codeql.github.com/codeql-query-help/csharp/cs-loss-of-precision/) | Fiabilidade | Erro |\n| \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| \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| \n              [Chamada recursiva para Equals(object)](https://codeql.github.com/codeql-query-help/csharp/cs-recursive-equals-call/) | Fiabilidade | Erro |\n| \n              [Relançamento de variável de exceção](https://codeql.github.com/codeql-query-help/csharp/cs-rethrown-exception-variable/) | Fiabilidade | Aviso |\n| \n              [Auto-atribuição](https://codeql.github.com/codeql-query-help/csharp/cs-self-assignment/) | Fiabilidade | Erro |\n| \n              [Concatenação de string em loop](https://codeql.github.com/codeql-query-help/csharp/cs-string-concatenation-in-loop/) | Fiabilidade | Recomendação |\n| \n              [Criação do StringBuilder em loop](https://codeql.github.com/codeql-query-help/csharp/cs-stringbuilder-creation-in-loop/) | Fiabilidade | Recomendação |\n| \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| \n              [Código não gerenciado](https://codeql.github.com/codeql-query-help/csharp/cs-unmanaged-code/) | Fiabilidade | Recomendação |\n| \n              [Uso de ToString() padrão](https://codeql.github.com/codeql-query-help/csharp/cs-call-to-object-tostring/) | Fiabilidade | Aviso |\n\n</div>"}