CQLinq
CQLinq
CQLinq est le langage de requête de code de CppDepend. Il est basé sur LINQ (Language Integrated Query) et vous permet d'écrire des requêtes pour explorer votre base de code, trouver des code smells et faire respecter les standards de codage.
Avec CQLinq, vous pouvez écrire des requêtes pour trouver des types, méthodes, champs et autres éléments de code qui correspondent à des critères spécifiques. Vous pouvez également écrire des règles qui vous avertissent lorsque certaines conditions sont remplies.
CQLinq est un outil puissant pour l'exploration du code, la refactorisation et l'assurance qualité. Il est largement utilisé dans CppDepend pour toutes sortes de tâches d'analyse.
Bien démarrer avec CQLinq
Pour débuter avec CQLinq, vous pouvez utiliser le Explorateur de requêtes et règles panneau dans CppDepend. Ce panneau contient une liste de requêtes et règles prédéfinies que vous pouvez exécuter sur votre base de code.
Vous pouvez aussi écrire vos propres requêtes avec le Éditeur CQLinq L'éditeur offre la coloration syntaxique, la complétion de code et la vérification des erreurs pour vous aider à écrire des requêtes rapidement et précisément.
Les requêtes CQLinq s'écrivent dans une syntaxe similaire à SQL, mais avec une syntaxe de style C#. Voici un exemple de requête CQLinq simple :
from m in Application.Methods where m.NbLinesOfCode > 30 select m
Cette requête trouve toutes les méthodes de l'application qui ont plus de 30 lignes de code.
Exemples de requêtes
Voici quelques exemples de requêtes CQLinq que vous pouvez utiliser pour explorer votre base de code :
Trouvez toutes les méthodes publiques avec plus de 5 paramètres
from m in Application.Methods where m.IsPublic && m.NbParameters > 5 select m
Trouvez tous les types qui implémentent une interface donnée
from t in Application.Types
where t.Implement("MyNamespace.IMyInterface")
select tTrouver toutes les méthodes jamais appelées
from m in Application.Methods where m.NbMethodsCallingMe == 0 && m.IsPublic select m
Règles de code
CQLinq peut aussi être utilisé pour écrire règles de code Les règles de code sont des requêtes qui génèrent des avertissements lorsque certaines conditions sont remplies.
Pour créer une règle de code, vous écrivez une requête CQLinq et ajoutez warnif ou failif clause au début. Voici un exemple :
warnif count > 0 from m in Application.Methods where m.CyclomaticComplexity > 20 select m
Cette règle génère un avertissement pour chaque méthode dont la complexité cyclomatique est supérieure à 20.
Métriques et agrégation
CQLinq prend en charge un large éventail de métriques que vous pouvez utiliser dans vos requêtes. Celles-ci incluent des métriques de code comme les lignes de code, la complexité cyclomatique et la profondeur d'héritage, ainsi que des métriques de dépendances comme le couplage afférent et efférent.
Vous pouvez aussi utiliser fonctions d’agrégation dans vos requêtes pour calculer des statistiques sur votre base de code. Voici un exemple :
from m in Application.Methods
select new { m, m.NbLinesOfCode, m.CyclomaticComplexity }Essayez CppDepend aujourd'hui
Commencez votre essai gratuit de 14 jours avec accès complet à toutes les fonctionnalités de documentation. Sans carte bancaire.
