Welche Tools stehen für die statische Analyse anhand von C # -Code zur Verfügung? Ich kenne FxCop und StyleCop. Gibt es noch andere Ich bin NStatic schon einmal begegnet, aber es befindet sich seit Ewigkeiten in der Entwicklung - es sieht ziemlich gut aus, wenn man bedenkt, wie wenig ich davon gesehen habe. Es wäre also schön, wenn es jemals das Licht der Welt erblicken würde.
In diesem Sinne (dies ist in erster Linie mein Interesse an der statischen Analyse) scheinen Tools zum Testen von Code für Multithreading-Probleme (Deadlocks, Rennbedingungen usw.) ebenfalls etwas rar zu sein. Typemock Racer ist gerade aufgetaucht, also werde ich mir das ansehen. Etwas darüber hinaus?
Meinungen aus dem wirklichen Leben zu Tools, die Sie verwendet haben, werden geschätzt.
quelle
Antworten:
Tools zur Erkennung von Codeverletzungen:
Fxcop , exzellentes Tool von Microsoft. Überprüfen Sie die Einhaltung der .net Framework-Richtlinien.
Bearbeiten Oktober 2010: Nicht mehr als eigenständiger Download verfügbar. Es ist jetzt im Windows SDK enthalten und befindet sich nach der Installation unter Programme \ Microsoft SDKs \ Windows \ [v7.1] \ Bin \ FXCop \ FxCopSetup.exe
Bearbeiten Februar 2018 : Diese Funktionalität wurde jetzt in Visual Studio 2012 und später als Code-Analyse integriert
Qualitätsmetrische Werkzeuge:
Überprüfen der Stilwerkzeuge:
Duplikationserkennung:
Allgemeine Refactoring-Tools
quelle
Das Tool NDepend wird als Quality Metric Tools bezeichnet , ist aber auch ein Tool zur Erkennung von Codeverletzungen . Haftungsausschluss: Ich bin einer der Entwickler des Tools
Mit NDepend kann man Code-Regeln über LINQ-Abfragen schreiben (was wir CQLinq nennen) . Standardmäßig werden mehr als 200 CQLinq-Coderegeln vorgeschlagen. Die Stärke von CQLinq besteht darin, dass es einfach ist, eine Coderegel zu schreiben und sofort Ergebnisse zu erhalten. Es werden Einrichtungen zum Durchsuchen übereinstimmender Codeelemente vorgeschlagen. Beispielsweise:
Darüber hinaus bietet NDepend viele andere statische Analysefunktionen . Diese beinhalten:
quelle
quelle
Haben Sie CAT.NET gesehen ?
Aus dem Klappentext -
Ich habe eine frühe Beta verwendet und es schien ein paar Dinge zu zeigen, die es wert sind, angeschaut zu werden.
quelle
Abgesehen von der hervorragenden Liste von madgnome würde ich einen doppelten Codedetektor hinzufügen, der auf der Befehlszeile basiert (aber kostenlos ist):
http://sourceforge.net/projects/duplo/
quelle
Klocwork verfügt über ein statisches Analysetool für C #: http://www.klocwork.com
quelle
Ich finde die Add-Ins für Code Metrics und Dependency Structure Matrix für Reflector sehr nützlich.
quelle
Optimyth Software hat gerade einen statischen Analysedienst in der Cloud www.checkinginthecloud.com gestartet . Laden Sie einfach Ihren Code sicher hoch, führen Sie die Analyse durch und erhalten Sie die Ergebnisse. Keine Probleme.
Es unterstützt mehrere Sprachen, einschließlich C #. Weitere Informationen finden Sie unter wwww.optimyth.com
quelle
Axivion Bauhaus Suite ist ein statisches Analysetool, das mit C # (sowie C, C ++ und Java) funktioniert.
Es bietet die folgenden Funktionen:
Diese Funktionen können einmalig oder als Teil eines kontinuierlichen Integrationsprozesses ausgeführt werden. Probleme können pro Projekt oder Entwickler hervorgehoben werden, wenn das System in ein Quellcodeverwaltungssystem integriert ist.
quelle