Wichtige Fakten
- Kategorie
- Entwicklung & Web
- Eingabetypen
- textarea, select, number
- Ausgabetyp
- json
- Sample-Abdeckung
- 4
- API verfügbar
- Yes
Überblick
Der Code Komplexitaets Analyzer evaluiert JavaScript, TypeScript, Python, Java und Go anhand zyklomatischer und kognitiver Komplexitaet, Verschachtelungstiefe sowie Code-Duplikaten. Das Tool identifiziert Hotspots, lange Funktionen und wiederholte Logikmuster, um technische Schulden fruehzeitig sichtbar zu machen und gezielte Refactorings zu ermoeglichen.
Wann verwenden
- •Vor Code-Reviews, um kritische Stellen und Testluecken zu identifizieren
- •Bei der Bewertung von Legacy-Code vor umfangreichen Refactoring-Massnahmen
- •Zur kontinuierlichen Qualitaetskontrolle und Metrik-Erfassung in Entwicklungsteams
So funktioniert es
- •Fuegen Sie den Quellcode in das Textfeld ein; die Sprache wird automatisch erkannt oder manuell gewaehlt
- •Passen Sie Schwellenwerte fuer Funktionslaenge, Verschachtelung und Duplikatfenster an Ihre Codebasis an
- •Das Tool analysiert die AST-Struktur und berechnet Komplexitaetsmetriken nach etablierten Heuristiken
- •Sie erhalten eine JSON-Ausgabe mit detaillierten Metriken pro Funktion und einer Zusammenfassung der Hotspots
Anwendungsfälle
Beispiele
1. Refactoring einer ueberkomplexen Checkout-Funktion
Senior-Entwickler- Hintergrund
- Ein E-Commerce-System enthaelt eine 200-zeilige JavaScript-Funktion zur Preisberechnung mit tief verschachtelten Rabattbedingungen, die bei jedem Deployment neue Bugs produziert.
- Problem
- Die Funktion weist zyklomatische Komplexitaet 18 auf und enthaelt 5 Ebenen Verschachtelung, was die Testabdeckung und Wartbarkeit erheblich erschwert.
- Verwendung
- Fuegen Sie den Checkout-Code in das Eingabefeld ein, waehlen Sie JavaScript als Sprache und setzen Sie nestingThreshold auf 3.
- Beispielkonfiguration
-
{"language": "javascript", "longFunctionThreshold": 50, "nestingThreshold": 3, "duplicateWindow": 5} - Ergebnis
- Das Tool markiert die Funktion als Deep-Nesting-Hotspot mit kritischer Komplexitaet, was den Entwickler zur Extraktion dedizierter Rabatt-Helper motiviert.
2. Duplikate in Python-Datenverarbeitung identifizieren
Data Engineer- Hintergrund
- In einer ETL-Pipeline wurden Normalisierungsfunktionen fuer Nutzer- und Admin-Daten separat entwickelt, enthalten aber identische Sanitizing-Logik fuer Email-Adressen.
- Problem
- Zwei Funktionen mit 90% identischer Code-Struktur verursachen doppelte Wartungsarbeit und Inkonsistenzen bei zukuenftigen Anpassungen.
- Verwendung
- Fuegen Sie beide Funktionen in das Textfeld ein, setzen Sie die Sprache auf Python und reduzieren Sie duplicateWindow auf 3 fuer praezise Erkennung.
- Beispielkonfiguration
-
{"language": "python", "longFunctionThreshold": 20, "nestingThreshold": 3, "duplicateWindow": 3} - Ergebnis
- Das Tool identifiziert das Duplikat und zeigt die betroffenen Zeilenbereiche an, was die Extraktion einer gemeinsamen normalize_entity() Funktion ermoeglicht.
Mit Samples testen
developmentVerwandte Hubs
FAQ
Welche Programmiersprachen werden unterstuetzt?
JavaScript, TypeScript, Python, Java und Go. Die Sprache kann automatisch erkannt oder manuell festgelegt werden.
Was bedeutet zyklomatische Komplexitaet?
Die zyklomatische Komplexitaet misst die Anzahl linear unabhaengiger Pfade durch den Code, typischerweise basierend auf Verzweigungen wie if-Anweisungen und Schleifen.
Wie werden Duplikate im Code erkannt?
Das Tool scannt Codebloecke innerhalb eines konfigurierbaren Fensters (Duplicate Window) und identifiziert strukturell aehnliche Sequenzen, die auf Copy-Paste-Entwicklung hindeuten.
Was ist der Unterschied zwischen kognitiver und zyklomatischer Komplexitaet?
Zyklomatische Komplexitaet zaehlt Ausfuehrungspfade, waehrend kognitive Komplexitaet die mentale Belastung beim Lesen und Verstehen des Codes bewertet.
Welche Schwellenwerte sind empfehlenswert?
Funktionen sollten idealerweise unter 50 Zeilen bleiben, Verschachtelungen unter 4 Ebenen. Kritisch wird es bei zyklomatischer Komplexitaet ab Werten von 10 und hoeher.