Kategorien

Code Komplexitaets Analyzer

Analysiert zyklomatische und kognitive Komplexitaet, Verschachtelung und Duplikate

Heuristische Codequalitaetsanalyse fuer JavaScript, TypeScript, Python, Java und Go.

Beispielergebnisse

2 Beispiele

Eine verzweigte JavaScript-Funktion analysieren

Misst zyklomatische und kognitive Komplexitaet einer verschachtelten Preisfunktion mit strengen Schwellen.

{
  "summary": {
    "language": "javascript",
    "functionCount": 1,
    "averageCyclomaticComplexity": 5,
    "averageCognitiveComplexity": 4,
    "hotspotCount": 0,
    "longFunctionCount": 0,
    "deepNestingCount": 1,
    "duplicateClusters": 0
  },
  "functions": [
    {
      "name": "score",
      "cyclomaticComplexity": 5,
      "deepNesting": true
    }
  ]
}
Eingabeparameter anzeigen
{ "sourceCode": "function score(order) {\n if (!order) return 0;\n let total = 0;\n for (const item of order.items) {\n if (item.discount) {\n total += item.price * 0.8;\n } else if (item.vip) {\n total += item.price * 0.9;\n } else {\n total += item.price;\n }\n }\n return total;\n}", "language": "javascript", "longFunctionThreshold": 8, "nestingThreshold": 2, "duplicateWindow": 4 }

Doppelte Normalisierungslogik in Python finden

Erkennt wiederholte Helper-Funktionen und bestaetigt Duplikatfenster in aehnlichen Codebloecken.

{
  "summary": {
    "language": "python",
    "functionCount": 2,
    "duplicateClusters": 1
  },
  "duplicates": [
    {
      "occurrences": 2,
      "lines": [
        1,
        6
      ]
    }
  ]
}
Eingabeparameter anzeigen
{ "sourceCode": "def normalize_user(row):\n email = row[\"email\"].strip().lower()\n if not email:\n return None\n return {\"email\": email, \"team\": row.get(\"team\", \"general\")}\n\ndef normalize_admin(row):\n email = row[\"email\"].strip().lower()\n if not email:\n return None\n return {\"email\": email, \"team\": row.get(\"team\", \"general\")}", "language": "python", "longFunctionThreshold": 20, "nestingThreshold": 3, "duplicateWindow": 3 }

Wichtige Fakten

Kategorie
Development
Eingabetypen
textarea, select, number
Ausgabetyp
json
Sample-Abdeckung
4
API verfügbar
Yes

Überblick

Code Complexity Analyzer bewertet zyklomatische und kognitive Komplexitaet, Verschachtelung, lange Funktionen und wiederholte Logik mit praktischen Heuristiken.

Wann verwenden

  • Wenn Sie vor Review oder Refactoring ein schnelles Qualitaetssignal brauchen.
  • Wenn technische Leads risikoreiche Funktionen frueh erkennen wollen.
  • Wenn Sie Wartbarkeit ueber JavaScript, TypeScript, Python, Java oder Go hinweg vergleichen.
  • Wenn duplizierte Logik und tiefe Verschachtelung die Entwicklung bremsen.

So funktioniert es

  • Code einfuegen und Sprache waehlen oder automatisch erkennen lassen.
  • Das Tool extrahiert Funktionen und logische Bloecke mit sprachuebergreifenden Heuristiken.
  • Anschliessend bewertet es Verzweigungen, Tiefe und kognitive Last.
  • Das Ergebnis zeigt Hotspots, Duplikate und konkrete Refactoring Hinweise.

Anwendungsfälle

Refactorings vor einem Release priorisieren.
Legacy Code auf Wartbarkeitsprobleme pruefen.
Teams erklaeren, wie Kontrollfluss die Lesbarkeit beeinflusst.
Leichte statische Analyse in den Engineering Workflow einfuegen.

Beispiele

1. Refactoring Ziele in einem Legacy Modul finden

Tech Lead
Hintergrund
Ein Backend Modul ist ueber Jahre mit vielen Bedingungen und Verschachtelungen gewachsen.
Problem
Das Team muss wissen, welche Funktionen zuerst vereinfacht werden sollten.
Verwendung
Code einfuegen, Auto Detect aktiv lassen und Hotspots plus Duplikate auswerten.
Beispielkonfiguration
Sprache: Auto Detect. Schwelle lange Funktion: 50. Schwelle Verschachtelung: 4.
Ergebnis
Das Team erhaelt eine priorisierte Liste der aufwendigsten Funktionen.

Mit Samples testen

development

Verwandte Hubs

FAQ

Ist das ein vollstaendiger AST Analyzer?

Nein. Das Tool nutzt praktische Heuristiken, um schnell brauchbare Signale zu liefern.

Welche Sprachen werden unterstuetzt?

JavaScript, TypeScript, Python, Java und Go werden unterstuetzt, inklusive Auto Detect.

Kann es Duplikate erkennen?

Ja. Es sucht nach wiederholten, normalisierten Zeilenfenstern.

Gibt es Verbesserungsvorschlaege?

Ja. Hotspot Funktionen erhalten Hinweise wie Branches reduzieren, Helper extrahieren oder Fluss vereinfachen.

API-Dokumentation

Request-Endpunkt

POST /de/api/tools/code-complexity-analyzer

Request-Parameter

Parameter-Name Typ Erforderlich Beschreibung
sourceCode textarea Ja -
language select Nein -
longFunctionThreshold number Nein -
nestingThreshold number Nein -
duplicateWindow number Nein -

Antwortformat

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
JSON-Daten: JSON-Daten

MCP-Dokumentation

Fügen Sie dieses Tool zu Ihrer MCP-Server-Konfiguration hinzu:

{
  "mcpServers": {
    "elysiatools-code-complexity-analyzer": {
      "name": "code-complexity-analyzer",
      "description": "Analysiert zyklomatische und kognitive Komplexitaet, Verschachtelung und Duplikate",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=code-complexity-analyzer",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Sie können mehrere Tools verketten, z.B.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, maximal 20 Tools.

Wenn Sie auf Probleme stoßen, kontaktieren Sie uns bitte bei [email protected]