- Einführung
-
Neulich bin ich gefragt wurden, ob ich nicht ein Tool kenne, mit dessen Hilfe man
Kommentarzeilen in Quellcodedateien zählen kann. Darauf konnte ich dann zum
Glück antworten, dass ich vor vielen Jahren mal selbst ein solches Programm
geschrieben habe. Leider hat sich dann bei Verwendung dieses alten Programms herausgestellt,
dass es nur in der Lage war, reine Kommentarzeilen, also Kommentare, die nichts
sonst enthalten, zu zählen. Da das nicht wirklich ein zuverlässiges Ergebnis
liefert, begab ich mich dann auf die Suche nach einem entsprechenden Programm. Jedoch
hatte sich bei dieser Suche gezeigt, dass die meisten derartigen Programme entweder
ebenfalls keine Kommentare innerhalb von Codezeilen finden beziehungsweise diese
Zeilen dann nicht als Codezeilen erkennen oder schlicht und einfach zu kompliziert
zu bedienen waren. Das war dann Grund genug, das alte Programm neu aufzusetzen und
es auf den aktuellen Stand der Technik zu heben.
- Beschreibung
-
Das Programm LineCounter ist ein Werkzeug, mit dessen
Hilfe man in der Lage ist, Codezeilen, Kommentare und Leerzeilen in Quellcodedateien
zu zählen. Mit diesem Programm ist es aber auch möglich, die Anzahl von
enthaltenen String– und Characterliteralen zu ermitteln.
In der Abbildung von oben kann man gut erkennen, dass sich das Programm
LineCounter in zwei Abschnitte, einen für die Konfiguration und
einen für die Auswertung, aufteilt. Somit kann man sehr zügig mit der
Quellcodeanalyse beginnen. Und nach Beendigung der Scannphase kann man sich
dann im unteren Teil des Programmfensters sehr schnell und komfortabel einen Überblick
über das Ergebnis dieser Analyse verschaffen. Hierfür stehen dann neben
der prozentualen auch detaillierte Angaben zur Verfügung.
Ebenfalls ist in obiger Abbildung zu erkennen, dass die Ergebnisauswertung einmal
für alle bearbeiteten Dateien als Zusammenfassung bereitgestellt wird, aber
auch eine vom Dateityp abhängig Zusammenfassung vorhanden ist. An dieser Stelle
sei noch zu bemerken, dass eine Auswertung bis hinunter auf einzelnen Dateien auch
möglich ist. Jedoch muss man sich hierfür erst einen vollständigen
Report erzeugen. Dieser Report kann dann mit jedem Webbrowser angezeigt und
dort auch gedruckt werden kann.
- Features
-
In diesem Abschnitt findet der geneigte Leser einige Besonderheiten, die das Programm
LineCounter von gleichartigen Programmen unterscheidet.
Diese sind zum Beispiel die Möglichkeit, eigene Kommentarschemata festlegen
zu können. Es ist aber möglich, die Suche auf bestimmte Verzeichnisses
oder auch nur auf bestimmte Dateien zu beschränken.
Filterkonfiguration
Eines der besonderen Features des Programms LineCounter
ist die Möglichkeit der freien Konfigurierbarkeit von sogenannten Filterkonfigurationen.
Hierzu zählen, neben ganz profanen Dingen wie Name, Beschreibung und Tooltipp,
auch die Endungen der Dateien, nach denen während eines Scanndurchlaufs
gesucht werden soll. Die Schemata für verschiedene Kommentartypen, nach
denen innerhalb der einzelnen Dateien gefiltert werden soll, zählen ebenfalls
zu einer Filterkonfiguration. Das bedeutet dann im Kern, dass eine spezifische Filterkonfiguration
aus einer Liste von Dateierweiterungen besteht, denen eine Liste von darin
erwarteten Kommentartypen zugeordnet ist. All diese Einstellungen können über
den Dialog File Filter Configuration erstellt, geändert
und natürlich auch gelöscht werde. Siehe folgende Abbildung, um einen
Eindruck über die Einstellungsmöglichkeiten des Programms
LineCounter zu bekommen.
Obige Abbildung verdeutlicht nicht nur die jeweiligen Einstellmöglichkeiten,
sondern zeigt auch gleich die vom Programm bereitgestellten Standard–Filterkonfigurationen.
Hierin sind in Grunde dann auch alle gängigen Dateiarten enthalten, die einem
Entwickler während seiner Arbeit interessieren. Wie bereits erwähnt,
hinzufügen eigener Filterkonfigurationen ist kein Problem und durchaus auch
gewollt.
Datei– und Verzeichnisauswahl
Über zwei spezielle Dialogfenster erhält der Benutzer die Gelegenheit,
ausgehend von einem Basisverzeichnis bestimmte Unterverzeichnisse oder auch
nur bestimmte Dateien für einen speziellen Scannvorgang zu konfigurieren. Das
bedeutet, dass der betreffende Scanndurchlauf dann auch nur für die Dateien
durchgeführt wird, deren Namen entweder explizit festgelegt wurden beziehungsweise
deren Namen durch die entsprechenden Dateiendungen gefiltert werden. Zu bemerken
gilt es noch, dass in beiden Dialogfenstern der Listenaufbau durch einen Thread
gepuffert wird, da eine Suche in einer komplexen Verzeichnisstruktur unter Umständen
mal ein Weilchen dauern kann. Das ermöglicht dann das schnelle Schließen,
wenn man mal versehentlich einen der beiden Dialoge geöffnet hat.
Konfigurationsumgebung
Wenn man beispielsweise wie zuvor beschrieben aus einer komplexen Verzeichnisstruktur
ein Subset an Unterverzeichnissen oder nur bestimmte Dateien selektiert hat, dann
hätte man eventuell diese Einstellungen gern für eine spätere Wiederverwendung
dauerhaft gespeichert. Gleiches gilt natürlich auch für selbst definierte
beziehungsweise angepasste Filterkonfigurationen. Das Speichern eigener Konfigurationen
ist selbstverständlich mithilfe des Programms LineCounter
ebenfalls möglich. Hierfür wird dann eine entsprechende XML–Datei
mit der Endung *.env unter einem frei wählbaren Namen
auf der Festplatte gespeichert. Die so gespeicherten Konfigurationsumgebungen
können dann später leicht wieder geladen werden und man braucht dann nicht
wieder alles von Neuem zu konfigurieren.
Programmhilfe
Natürlich verfügt das Programm LineCounter auch
über eine ausführliche Hilfe, in der ein Benutzer neben der Anleitung
zur Installation, auch eine detaillierte Beschreibung aller Funktionen finden kann.
Des Weiteren findet man in der mitgelieferten Hilfedatei auch eine Übersicht
über die vom implementierten Algorithmus erkannten Arten von Kommentaren.
Übrigens kann die Programmhilfe direkt aus dem komprimierten Download heraus
geöffnet werden.
Viel Spaß mit diesem sinnvollen Tool…
|