Code-Kommentarzeilen zählen
Messen Sie, wie viel einer Quelldatei erklärt statt ausgeführt wird: Ein Ausschnitt mit sechs Zeilen, drei Kommentar- und drei Codezeilen, ergibt ein Verhältnis von 1 und 50 Prozent Kommentare. Markierungen in Anführungszeichen zählen nicht. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Sprache
- Javascript
- Zeilen insgesamt
- 6
- Leerzeilen
- 1
- Kommentarzeilen
- 3
- Codezeilen
- 3
Der Kommentarzeilenzähler misst, welcher Anteil einer Quelldatei Erläuterungen statt ausführbarem Code gewidmet ist. Fügen Sie den Quelltext ein, wählen Sie die Sprache oder verwenden Sie die automatische Erkennung. Sie erhalten Anzahlen für Kommentar-, Code-, Leer- und gemischte Zeilen sowie das Verhältnis von Kommentaren zu Code. Das Ergebnis dient als kompakter Indikator der Dokumentationsdichte für Reviews, Wartungsplanung, Qualitätsübersichten und Repository-Prüfungen. Die lexikalische Analyse arbeitet deterministisch, verwechselt Markierungen in Zeichenketten nicht mit Kommentaren und weist die gewählte Sprache stets aus.
Verstehen Sie die Kennzahl, ohne sie zum Ziel zu machen
Kommentardichte ist nützlich, wenn sie ein Gespräch anstößt, nicht wenn sie zur allgemeingültigen Bewertung wird. Dieser Zähler teilt Kommentarzeilen durch Codezeilen und gibt Kommentare zusätzlich als Prozentsatz aller Beobachtungen aus. Eine Zeile mit Code und nachgestelltem Kommentar gehört zu beiden Kategorien; die separate Anzahl gemischter Zeilen macht diese Überschneidung sichtbar.
Leerzeilen zählen zu keiner Kategorie. Durch diese Definitionen bleiben wiederholte Messungen vergleichbar, doch mehr Kommentare bedeuten nicht automatisch bessere Software. Eine kleine Parserfunktion kann allein durch Namen und Tests verständlich sein, während eine Protokollimplementierung ausführliche Hinweise zu Invarianten und externen Vorgaben benötigen kann.
Vergleichen Sie Dateien mit ähnlicher Aufgabe, Sprache und Reife. Achten Sie auf überraschende Veränderungen: entfernte Erklärungen in einem komplexen Teilsystem, irreführende Kopftexte in generiertem Code oder einen Anstieg durch auskommentierten Code. Betrachten Sie das Ergebnis zusammen mit Komplexität, Testabdeckung, Änderungshäufigkeit und fachlichem Urteil.
Die Kennzahl zeigt, wo sich das Lesen lohnt; sie beurteilt nicht, ob ein Kommentar richtig, notwendig oder hilfreich ist.
Wählen Sie die Sprache und beachten Sie die Zählregeln
Wählen Sie nach Möglichkeit die Quellsprache, da sich Kommentarmarker unterscheiden. Sprachen der C-Familie verwenden doppelte Schrägstriche für Zeilenkommentare und Blöcke zwischen Schrägstrich und Sternchen; Python und Shellskripte nutzen das Rautezeichen; SQL kombiniert doppelte Bindestriche mit Blöcken, während HTML eigene Markup-Begrenzer verwendet. Der Automatikmodus untersucht typische Quelltextmuster und gibt die erkannte Sprache zurück, sodass die Entscheidung sichtbar bleibt.
Der Scanner verfolgt Blockkommentare über mehrere physische Zeilen und ignoriert scheinbare Marker innerhalb einfacher, doppelter und rückwärts geneigter Anführungszeichen. Jede Zeile wird danach eingestuft, ob sie Code, Kommentartext, beides oder keines davon enthält. Ein mehrzeiliger Block trägt somit für jede belegte physische Zeile eine Kommentarzeile bei.
Ein Kommentar hinter einer Anweisung erhöht Code-, Kommentar- und Mischzeilenzahl. Dieses lexikalische Verfahren ist schnell und deterministisch, aber kein vollständiger Compiler. Ungewöhnliche Rohzeichenketten, eingebettete Sprachen, Präprozessortricks und sprachspezifische Dokumentationsliterale können eine explizite Auswahl oder einen spezialisierten Parser erfordern, wenn eine exakte semantische Klassifikation unverzichtbar ist.
Nutzen Sie das Ergebnis in Reviews und Wartungsprüfungen
Führen Sie den Zähler bei einem einzelnen Review vor und nach der Änderung aus und untersuchen Sie deutliche Abweichungen, statt einen starren Grenzwert durchzusetzen. Ein sinkendes Verhältnis bei einem komplexer gewordenen Algorithmus kann darauf hinweisen, dass Annahmen oder Randfälle erklärt werden sollten. Ein steigendes Verhältnis kann gute Dokumentation bedeuten, aber auch auskommentierten Code, der entfernt und durch die Versionsverwaltung bewahrt werden sollte.
Speichern Sie bei repositoryweiten Analysen die Werte zusammen mit Commit-Kennung, Sprache, Dateipfad und Kennzeichnung generierter Dateien. Fassen Sie nur vergleichbare Gruppen zusammen, denn Konfiguration, Tests, generierte Clients und Anwendungslogik haben unterschiedliche Dokumentationsbedürfnisse. Verwenden Sie die Zahl als Priorisierungshinweis: In Verbindung mit Änderungshäufigkeit finden Sie oft bearbeitete, wenig erklärte Dateien; zusammen mit Komplexität lenkt sie die Aufmerksamkeit im Review.
Lesen Sie vor Schlussfolgerungen zur Wartbarkeit immer die tatsächlichen Kommentare.
Anwendungsfälle
Dokumentationsänderungen prüfen
Vergleichen Sie die Dichte vor und nach einer Änderung und untersuchen Sie unerwartete Abweichungen in komplexen Dateien.
Eine Qualitätsübersicht erstellen
Erfassen Sie stabile Anzahlen und Verhältnisse zusammen mit Komplexität, Änderungen und Testabdeckung.
Wartungsarbeit priorisieren
Ermitteln Sie häufig geänderte Module, die nur wenig erklärenden Kontext bieten.
Häufige Fragen
Was bedeutet das Verhältnis von Kommentaren zu Code?
Es ist die Anzahl der Kommentarzeilen geteilt durch die Anzahl der Codezeilen, gerundet auf sechs Dezimalstellen.
Wie werden Zeilen mit Code und Kommentar gezählt?
Sie zählen einmal als Code, einmal als Kommentar und einmal im separaten Feld für gemischte Zeilen.
Beeinflussen Leerzeilen das Verhältnis?
Nein. Sie werden separat ausgewiesen und aus beiden Bestandteilen des Verhältnisses ausgeschlossen.
Was geschieht bei Kommentaren ohne Code?
Das Verhältnisfeld wird ausgelassen, weil eine Division durch null kein endliches Ergebnis besitzt; die Einzelwerte bleiben verfügbar.
Ist die automatische Spracherkennung exakt?
Nein. Sie verwendet vorsichtige Musterregeln und zeigt ihre Wahl an. Wählen Sie die Sprache ausdrücklich, wenn Genauigkeit entscheidend ist.
Bewertet das Werkzeug die Qualität von Kommentaren?
Nein. Es misst die Dichte physischer Zeilen und nicht, ob Kommentare richtig, aktuell oder nützlich sind.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev/count-comments \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"// Convert a value\nfunction double(value) {\n return value * 2; // arithmetic\n}"}'const res = await fetch("https://api.kit.forhosting.com/dev/count-comments", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "// Convert a value\nfunction double(value) {\n return value * 2; // arithmetic\n}"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/count-comments",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "// Convert a value\nfunction double(value) {\n return value * 2; // arithmetic\n}"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/count-comments", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"// Convert a value\\nfunction double(value) {\\n return value * 2; // arithmetic\\n}"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"// Convert a value\nfunction double(value) {\n return value * 2; // arithmetic\n}"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/count-comments", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "// Convert a value\nfunction double(value) {\n return value * 2; // arithmetic\n}"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.count_comments",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 5 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Nutzen Sie das Ergebnis in Reviews und Wartungsprüfungen
Die stabile JSON-Ausgabe eignet sich für Qualitätsübersichten und Berichte der kontinuierlichen Integration; der Browser ermöglicht eine schnelle private Prüfung. Die API-Automatisierung kostet $0.002 je Anfrage.