2010-01-15 28 views
19

Gibt es ein Tool oder etwas anderes, um die Anzahl der Zeilen in einem bestimmten C# -Projekt zu zählen? Nur aus Neugier ...Anzahl der Zeilen im Code

+3

Neugier ist in Ordnung, aber ich möchte nur darauf hinweisen, dass SLOC normalerweise eine schreckliche "Metrik" ist. Ew. http://en.wikipedia.org/wiki/Source_lines_of_code#Disafieldages –

+0

@Andy: Wenn Sie nicht von ihnen Rechnung ... Ich denke, dass IBM das getan hat. – NotMe

+0

Nein, es ist einfach nur Neugier. –

Antwort

44

Ich glaube, es gibt Werkzeuge, aber ich finde es einfacher, nur die Verwendung findet in Option Dateien und verwenden diese regex:

^~(:[email protected]//.+)~(:[email protected]\{:[email protected])~(:[email protected]\}:[email protected])~(:[email protected]/#).+ 

das regex von here ist, was auch zeigt, wie für sie suchen. Es wird eine Anzahl von übereinstimmenden Zeilen (d. H. Die Anzahl der Zeilen in Ihrem Code) zurückgeben.

+10

Wow! Was für ein Hack! –

+0

+1 für einen interessanten Fund. –

+0

es gibt LOC korrekt zurück, aber es schließt "{", "}" Ausdrücke aus, wie können wir "{", "}" hinzufügen, um zu zählen? –

2

Ich hatte einen guten Erfolg mit David Wheeler's SLOCCount. Es ist ein Kommandozeilen-Tool, das Cygwin leider benötigt, aber ich habe festgestellt, dass es sehr große Java-Projekte ohne viel Aufwand gehandhabt hat. C# wird als eine unterstützte Sprache zum Zählen aufgelistet. Die Konfiguration ist minimal, IIRC Ich habe es nur auf ein Verzeichnis gerichtet und es hat alle Arten von Code zusammengefasst und in Zeilen pro Sprache zerlegt.

Sehr zu empfehlen.

+0

+1 - Ich habe dieses Tool mehrmals verwendet. Es berücksichtigt Kommentare und Ähnliches und funktioniert einwandfrei. –

16

In Visual Studio 2010 Premium und Ultimate können Sie auf die Registerkarte Analysieren gehen und "Berechne Code-Metriken" auswählen. Sie erhalten Codezeilen sowie Wartbarkeitsindex, zyklomatische Komplexität, Vererbung und Klassenkopplungsmesswerte , Projekt für Projekt.

Sie können auch in Namespaces und Klassen/Schnittstellen bohren.

+0

nicht in Pro-Version verfügbar –

+0

Sie haben recht, danke - ich habe "Pro" für "Premium" falsch eingegeben - Ich habe die Antwort oben aktualisiert. –

+2

Stellen Sie sicher, dass Ihre Lösung kompiliert wird, bevor Sie Code-Metriken ausführen. Ich habe das nur mit einer ziemlich großen Lösung gemacht, nur um 15 Minuten später einen Fehler über das Fehlen eines Semikolons in einer Datei zu bekommen. – Ocelot20