CQLinq
CQLinq
CQLinq ist die Codeabfragesprache von CppDepend. Sie basiert auf LINQ (Language Integrated Query) und ermöglicht es Ihnen, Abfragen zu schreiben, um Ihre Codebasis zu erkunden, Code Smells zu finden und Coding-Standards durchzusetzen.
Mit CQLinq können Sie Abfragen schreiben, um Typen, Methoden, Felder und andere Codeelemente zu finden, die bestimmten Kriterien entsprechen. Sie können auch Regeln schreiben, die Sie warnen, wenn bestimmte Bedingungen erfüllt sind.
CQLinq ist ein leistungsstarkes Werkzeug für Code-Exploration, Refactoring und Qualitätssicherung. Es wird in CppDepend umfassend für alle Arten von Analyseaufgaben eingesetzt.
Erste Schritte mit CQLinq
Um mit CQLinq zu beginnen, können Sie verwenden: Abfragen- und Regeln-Explorer Panel in CppDepend. Dieses Panel enthält eine Liste vordefinierter Abfragen und Regeln, die Sie gegen Ihre Codebasis ausführen können.
Sie können auch eigene Abfragen schreiben mit CQLinq-Editor Der Editor bietet Syntaxhervorhebung, Codevervollständigung und Fehlerprüfung, damit Sie Abfragen schnell und präzise schreiben können.
CQLinq-Abfragen werden in einer SQL-ähnlichen Syntax geschrieben, jedoch im C#-Stil. Hier ist ein Beispiel einer einfachen CQLinq-Abfrage:
from m in Application.Methods where m.NbLinesOfCode > 30 select m
Diese Abfrage findet alle Methoden der Anwendung mit mehr als 30 Codezeilen.
Abfragebeispiele
Hier sind einige Beispiele für CQLinq-Abfragen, mit denen Sie Ihre Codebasis erkunden können:
Finden Sie alle öffentlichen Methoden mit mehr als 5 Parametern
from m in Application.Methods where m.IsPublic && m.NbParameters > 5 select m
Finden Sie alle Typen, die ein bestimmtes Interface implementieren
from t in Application.Types
where t.Implement("MyNamespace.IMyInterface")
select tAlle Methoden finden, die nie aufgerufen werden
from m in Application.Methods where m.NbMethodsCallingMe == 0 && m.IsPublic select m
Coderegeln
CQLinq kann auch verwendet werden, um zu schreiben Coderegeln Code-Regeln sind Abfragen, die Warnungen erzeugen, wenn bestimmte Bedingungen erfüllt sind.
Um eine Code-Regel zu erstellen, schreiben Sie eine CQLinq-Abfrage und fügen warnif oder failif Klausel am Anfang. Hier ist ein Beispiel:
warnif count > 0 from m in Application.Methods where m.CyclomaticComplexity > 20 select m
Diese Regel erzeugt eine Warnung für jede Methode mit einer zyklomatischen Komplexität über 20.
Metriken und Aggregation
CQLinq unterstützt eine breite Palette von Metriken die Sie in Ihren Abfragen verwenden können. Dazu gehören Codemetriken wie Codezeilen, zyklomatische Komplexität und Vererbungstiefe sowie Abhängigkeitsmetriken wie afferente und efferente Kopplung.
Sie können auch verwenden: Aggregationsfunktionen in Ihren Abfragen, um Statistiken über Ihre Codebasis zu berechnen. Hier ein Beispiel:
from m in Application.Methods
select new { m, m.NbLinesOfCode, m.CyclomaticComplexity }Testen Sie CppDepend noch heute
Starten Sie Ihre 14-tägige kostenlose Testversion mit vollem Zugriff auf alle Dokumentationsfunktionen. Keine Kreditkarte erforderlich.
