CppDepend
Accueil/Fonctionnalités/Code Query/CQLinq : interrogez votre code comme une base de données

CQLinq : interrogez votre code comme une base de données

Écrivez des requêtes LINQ pour explorer, analyser et faire respecter la qualité du code

CppDepend révolutionne l’analyse de code avec son intégration de Linq, qui permet d’interroger la base de code via des requêtes LINQ. Par exemple, la requête Linq suivante identifie toutes les méthodes publiques de plus de 30 lignes.

exemple de requête cqlinq

Lors de la création d’un nouveau projet CppDepend, vous recevez 120 requêtes et règles par défaut, facilement personnalisables selon vos besoins.

Écrire des requêtes et contraintes Linq est simple : c’est de la syntaxe C# LINQ et CppDepend fournit un éditeur Linq qui prend en charge :

  • Complétion de code / intellisense
  • Description des erreurs de compilation en direct
  • Documentation intégrée en infobulle
éditeur de requêtes cqlinq

De plus, une fois la requête compilée, elle s’exécute immédiatement et son résultat s’affiche clairement et est navigable :

résultat de requête cqlinq

Des requêtes et règles puissantes et élaborées peuvent être écrites avec Linq, comme celle-ci par exemple :

requête cqlinq élaborée

Exemples de requêtes

De courtes requêtes Linq peuvent être écrites (ou même générées) pour obtenir des réponses immédiates sur une base de code :

Le code est-il correctement structuré en couches ?

requête cqlinq courte

Quelles méthodes ont été refactorisées depuis la dernière version ?

parcourir le code source avec linq

Quelles classes héritent d’une classe donnée ?

parcourir les classes avec linq

Quelles sont les 10 méthodes les plus complexes ?

parcourir les méthodes les plus complexes avec linq

Quelles méthodes assignent un champ donné ?

parcourir les méthodes avec linq

Quelle méthode complexe manque de commentaires ?

parcourir les méthodes non commentées avec linq

Règles de code

Vous pouvez aussi être averti automatiquement quand une requête Linq retourne un certain résultat. Une telle requête Linq est en fait une règle de code comme :

Je ne veux pas que ma couche Interface Utilisateur dépende directement de la couche Base de données :

être averti lorsqu’une requête linq retourne un résultat

Les méthodes hors de MyProject1 et MyProject2 ne devraient pas dépasser 30 lignes de code :

les méthodes ne devraient pas dépasser un certain nombre de lignes de code (avertissement)

Les champs statiques ne devraient pas être nommés m_XXX (conventions de nommage personnalisées) :

Conventions de nommage personnalisées

Les méthodes publiques ne devraient pas être supprimées pour éviter de casser l’API :

Les méthodes publiques ne devraient pas être supprimées pour éviter de casser l’API

Lien associé : Performances Linq.

Essayer CQLinq : interrogez votre code comme une base de données avec CppDepend

Commencez votre essai gratuit de 14 jours avec accès complet à toutes les fonctionnalités. Sans carte bancaire.