Skip to main content

Requêtes CodeQL C# pour la qualité du code

Explorez les requêtes que CodeQL utilise pour analyser la qualité du code pour le code écrit en C#.

Code Quality utilise les requêtes CodeQL suivantes pour analyser le code C# et détecter les problèmes de qualité du code sur :

  • Votre branche par défaut, avec les résultats présentés sur le tableau de bord « Résultats standard » du dépôt
  • Demandes de tirage, avec les résultats affichés sous forme de commentaires effectués par github-code-quality[bot]

Des suggestions Copilot correction automatique sont fournies pour les résultats dans la mesure du possible.

Nom de la requêteCatégorieNiveau de gravité
Bloquer le code avec un seul Response.Write()MaintenabilitéRecommandation
Appel à la méthode obsolèteMaintenabilitéAvertissement
La classe a le même nom que la super classeMaintenabilitéRecommandation
La classe implémente ICloneableMaintenabilitéRecommandation
Condition constanteMaintenabilitéAvertissement
Le contenu du conteneur n’est jamais accessibleMaintenabilitéErreur
Masques de champ dans la superclasseMaintenabilitéAvertissement
Conditionnel inutileMaintenabilitéAvertissement
La variable de portée locale masque le membreMaintenabilitéRecommandation
Opportunité « readonly » manquéeMaintenabilitéRecommandation
Opportunité d'« utilisation » manquéeMaintenabilitéRecommandation
Occasion manquée d’utiliser ToutMaintenabilitéRecommandation
Occasion manquée d’utiliser CastMaintenabilitéRecommandation
Occasion manquée d’utiliser OfTypeMaintenabilitéRecommandation
Opportunité manquée d’utiliser SelectMaintenabilitéRecommandation
Occasion manquée d’utiliser WhereMaintenabilitéRecommandation
Occasion ternaire manquéeMaintenabilitéRecommandation
Les instructions 'if' imbriquées peuvent être combinéesMaintenabilitéRecommandation
Sélection redondanteMaintenabilitéAvertissement
Appel ToString() redondantMaintenabilitéRecommandation
Champ statique écrit par méthode d’instanceMaintenabilitéRecommandation
Expression booléenne inutilement complexeMaintenabilitéRecommandation
Étiquette inutiliséeMaintenabilitéAvertissement
Affectation inutile à la variable localeMaintenabilitéAvertissement
Appel inutile à GetHashCode()MaintenabilitéRecommandation
Un verrou est maintenu pendant une attenteReliabilityAvertissement
L’appel à « System.IO.Path.Combine » peut supprimer silencieusement ses arguments antérieursReliabilityRecommandation
Appel à GC. Collect()ReliabilityAvertissement
Appel à ReferenceEquals(...) sur les expressions de type valeurReliabilityErreur
Appels au code non managéReliabilityRecommandation
Conversion de 'this' en paramètre de typeReliabilityRecommandation
Caractère passé au constructeur StringBuilderReliabilityErreur
Comparaison des valeurs identiquesReliabilityAvertissement
Le contenu du conteneur n’est jamais initialiséReliabilityErreur
Taille du conteneur par rapport à zéroReliabilityAvertissement
La variable dereferenced est toujours nullReliabilityErreur
La variable déréférencée peut être nulleReliabilityAvertissement
Conversion douteuse de 'this'ReliabilityAvertissement
Test de type douteux de 'this'ReliabilityAvertissement
Branche vide du corps de boucle conditionnelle ou videReliabilityAvertissement
Instruction de verrouillage videReliabilityAvertissement
Vérification de l’égalité sur les valeurs à virgule flottanteReliabilityAvertissement
Égalité sur les collectionsReliabilityRecommandation
Égalité sur des types incomparablesReliabilityErreur
Exposition de la représentation interneReliabilityRecommandation
Synchronisation futile sur le champReliabilityErreur
Clause catch génériqueReliabilityRecommandation
Valeur hachée sans définition de "GetHashCode"ReliabilityAvertissement
Cast de tableau impossibleReliabilityErreur
Séquence de verrou incohérenteReliabilityErreur
Utilisation inefficace de ContainsKeyReliabilityRecommandation
Mise en forme de chaîne non valideReliabilityErreur
Verrouillage de l’objet « this » dans une instruction lockReliabilityAvertissement
Absence d'appel à Dispose sur IDisposable localReliabilityAvertissement
Boucles imbriquées avec la même variableReliabilityAvertissement
Argument nul pour Equals(object)ReliabilityAvertissement
Comparaison off-by-one par rapport à la longueur du conteneurReliabilityErreur
Mauvaise gestion des erreurs : capture de l'exception NullReferenceExceptionReliabilityAvertissement
Mauvaise gestion des erreurs : bloc catch videReliabilityRecommandation
Perte possible de précisionReliabilityErreur
Utilisation potentiellement dangereuse de la logique sans court-circuitReliabilityErreur
La valeur de propriété n’est pas utilisée lors de la définition d’une propriétéReliabilityAvertissement
Appel récursif à Equals(object)ReliabilityErreur
Relancer une variable d'exceptionReliabilityAvertissement
Auto-attributionReliabilityErreur
Concaténation de chaînes dans la boucleReliabilityRecommandation
Création de StringBuilder en boucleReliabilityRecommandation
Cast non vérifié dans la méthode EqualsReliabilityAvertissement
Code non managéReliabilityRecommandation
Utilisation de ToString() par défautReliabilityAvertissement