Was er tut
Der Code Quality Scanner analysiert Ihre Quellcodedateien auf konkrete Probleme, die die langfristige Wartbarkeit Ihrer Codebasis beeinträchtigen. Er prüft jede Datei wie ein erfahrener Senior Engineer, erkennt bei manuellen Code-Reviews leicht übersehene Probleme und konzentriert sich auf praktische, direkt umsetzbare Verbesserungen.Hauptfunktionen
- Automatisierte Code-Überprüfung: Führt eine gründliche Analyse Ihres Codes durch und überprüft auf häufige Qualitätsprobleme, die die Wartbarkeit beeinflussen
- Sprachspezifische Analyse: Versteht Kontext und Konventionen verschiedener Programmiersprachen
- Framework-Erkennung: Erkennt gängige Frameworks und wendet frameworkspezifische Best Practices an
- Schweregradklassifizierung: Priorisiert Probleme basierend auf ihrer Auswirkung (Hoch, Mittel, Niedrig)
- CWE-Zuordnung: Ordnet Probleme den Common Weakness Enumeration (CWE)-Standards zur standardisierten Kategorisierung zu
Erkannte Probleme
Der Code Quality Scanner erkennt ein breites Spektrum an Code-Quality-Problemen. Alle Befunde werden zur einheitlichen Kategorisierung den zugeordnet.Grammatik- & Klarheitsprobleme
Grammatik- & Klarheitsprobleme
- Rechtschreibfehler und Tippfehler in Codekommentaren, Variablennamen und Zeichenketten (CWE-1078)
- Ungenaue oder irreführende Kommentare die dem tatsächlichen Codeverhalten widersprechen oder veraltet sein können (CWE-1116)
example.js
Sauberkeit des Codes
Sauberkeit des Codes
- Leere Codeblöcke, die keinen Zweck erfüllen (CWE-1071)
- Unbenutzte Variablen, Importe und Dead Code, die die Codebasis unnötig aufblähen (CWE-563, CWE-1041)
- Leere Ausnahmeblöcke, die Fehler stillschweigend verschlucken (CWE-1069, CWE-390)
- Unerreichbarer Code, der niemals ausgeführt werden kann (CWE-561)
example.py
Code-Duplikation & Wiederverwendbarkeit
Code-Duplikation & Wiederverwendbarkeit
- Doppelter Code, der in gemeinsame Funktionen refaktoriert werden sollte (CWE-1041)
- Doppelte Schlüssel oder Literale in Objekten und magische Zahlen, die Konstanten sein sollten (CWE-1078)
- Nicht gehaltener Code – wiederholte Logik, die den Wartungsaufwand erhöht
Performance-Probleme
Performance-Probleme
- String-Konkatenation in Schleifen, die die Leistung verschlechtert (CWE-1046)
- Ineffiziente Operationen und unnötiger Ressourcenverbrauch (CWE-1050)
- Leistungsengpässe in häufig ausgeführten Codepfaden
Example.java
Design & Architektur
Design & Architektur
- Funktionen mit zu vielen Parametern (>5 Parameter), die auf ein schlechtes Design hinweisen (CWE-1064)
- Übermäßig komplexe Funktionssignaturen, die schwer korrekt zu verwenden sind
- Zirkuläre Abhängigkeiten zwischen Modulen (CWE-1047)
- Verstöße gegen
Code-Komplexität & Lesbarkeit
Code-Komplexität & Lesbarkeit
- Komplexe Einzeiler, die zur Klarheit aufgebrochen werden sollten (CWE-1120)
- Tief verschachtelte Logik mit übermäßig vielen Verzweigungen, die schwer zu verstehen ist
- Übermäßig generische Hilfsfunktionen, die die Absicht verschleiern
- Verstöße gegen
Benennung & Konventionen
Benennung & Konventionen
- Inkonsistente Benennungskonventionen, die den Code schwerer nachvollziehbar machen (CWE-1099)
- Generische, nicht beschreibende Variablennamen wie ‘obj’, ‘x’, ‘data’
- Gemischte Benennungsstile (z. B. camelCase und snake_case in derselben Codebasis)
Logik & Korrektheit
Logik & Korrektheit
- Logikfehler, die zu falschem Verhalten führen (CWE-670)
- Falsche Datenverarbeitung, die zu falschen Ergebnissen führt
- Code, der aufgrund von Implementierungsfehlern nicht wie beabsichtigt funktioniert
Unvollständige Arbeit
Unvollständige Arbeit
- TODO-Kommentare und Platzhaltercode (CWE-1071)
- Unfertige Funktionen, die Probleme verursachen können
- Unvollständige Implementierungen, die Aufmerksamkeit erfordern
So funktioniert es
1. Dateianalyse
Der Scanner verarbeitet jede Datei der Codebasis einzeln. Dabei analysiert er den vollständigen Quellcode im Kontext von Dateistruktur, Programmiersprache und erkannten Frameworks.2. KI-gestützte Überprüfung
Der Scanner verwendet speziell für Code-Reviews trainierte Sprachmodelle und prüft Ihren Code anhand etablierter Software-Engineering-Grundsätze und Best Practices. Die KI versteht:- Sprachspezifische Idiome und Konventionen
- Framework-Muster und Best Practices
- Metriken zur Komplexität und Wartbarkeit von Code
- Branchenübliche Prinzipien des Software-Designs
3. Problemidentifikation
Wenn der Scanner ein potenzielles Problem findet:- Lokalisiert er die betroffenen Codezeilen
- Klassifiziert er den Problemtyp anhand der CWE-Standards
- Weist er einen passenden Schweregrad zu
- Erstellt er eine verständliche Erklärung des Problems und seiner Auswirkungen
4. Erkennung mit hoher Konfidenz
- Der Scanner meldet nur Probleme mit einer Konfidenz von mindestens 90 %. Dieser hohe Schwellenwert sorgt für konkrete und präzise statt spekulative Befunde.
Unterdrückung von False Positives
Der Code Quality Scanner verwendet differenzierte Mechanismen zur Unterdrückung von False Positives, damit Sie nur relevante und umsetzbare Befunde erhalten:Eingebaute Filter
Ausschluss von Sicherheitsproblemen: Der Scanner schließt ausdrücklich Sicherheitslücken (SQL-Injection, XSS, Authentifizierungsprobleme usw.) aus, da diese von Corgeas dedizierten Sicherheitsscannern behandelt werden. Dies verhindert Überschneidungen und Verwirrung zwischen Code Quality und Sicherheitsergebnissen.
Filterung nach Stilpräferenzen: Kleine Stilpräferenzen wie Klammerplatzierung, Einrückung und Leerzeichen werden nicht gemeldet. Der Scanner konzentriert sich auf inhaltliche Qualitätsprobleme, nicht auf Formatierungsvorlieben.
Kontextuelles Verständnis
Der Scanner versteht den Codekontext, um False Positives zu vermeiden:- Erkennt, wenn “leere” Blöcke beabsichtigt sind (z. B. Platzhalterimplementierungen)
- Versteht frameworkspezifische Muster, die sonst problematisch erscheinen könnten
- Berücksichtigt sprachspezifische Idiome, die in bestimmten Programmiersprachen akzeptabel sind
Automatisierte Behebung
Bei erkannten Code-Quality-Problemen unterstützt Corgea Sie mit automatisierten Fixes, damit Sie Probleme schnell und einheitlich beheben können:Was behoben wird
Das automatisierte Behebungssystem kann viele häufige Code Quality-Probleme beheben, darunter:- Schnelle Erfolge
- Strukturverbesserungen
- Best Practices
- Entfernen ungenutzter Variablen und Importe
- Umwandeln von Magic Numbers in benannte Konstanten
- Korrigieren von Tippfehlern in Variablennamen und Kommentaren
Wie die Behebung funktioniert
- Issue-Kontext: Das System analysiert den vollständigen Kontext eines Issues und berücksichtigt neben dem problematischen Code auch dessen Rolle in der gesamten Codebasis
- Sichere Fixes: Automatisierte Fixes sind darauf ausgelegt, die vorhandene Funktionalität beizubehalten
- Beibehaltung des Codestils: Fixes berücksichtigen Ihren vorhandenen Codestil und Ihre Konventionen
- Prüfung vor der Anwendung: Sie entscheiden, welche Fixes angewendet werden
Getrennt vom Schwachstellen-Scanning
Hauptunterschiede
Warum beide wichtig sind
- Sicherheit schützt Ihre Anwendung vor Angreifern
- Code Quality hält Ihre Codebasis wartbar, leistungsfähig und zuverlässig
Schweregrade erklärt
- Hoher Schweregrad
- Mittlerer Schweregrad
- Niedriger Schweregrad
Probleme, die Abstürze, schwerwiegende Leistungsprobleme oder kritische Fehler verursachen:
- Leere catch-Blöcke, die Fehler verbergen
- Endlosschleifen
- Logik, die immer fehlschlägt
- Kritische Leistungsengpässe
Erste Schritte
Der Code Quality Scanner integriert sich nahtlos in Ihren Entwicklungsworkflow:1
Repository verbinden
Verknüpfen Sie Ihr Code-Repository mit Corgea über GitHub, GitLab, Azure DevOps oder Bitbucket
2
Automatisches Scannen
Der Scanner analysiert Ihre Dateien automatisch
3
Ergebnisse überprüfen
Durchsuchen Sie identifizierte Probleme mit klaren Erklärungen und Schweregraden im Projekt-Dashboard
4
Fixes anwenden
Verwenden Sie automatisierte Behebung oder beheben Sie Probleme manuell
5
Fortschritt verfolgen
Überwachen Sie Verbesserungen in Code Quality im Laufe der Zeit
Verwandte Dokumentation
AI-native SAST
Erfahren Sie mehr über Corgeas Fähigkeiten zur Sicherheitslücken-Analyse
Automatisierte Korrekturen
Erkunden Sie, wie automatisierte Behebung bei allen Scan-Typen funktioniert
False Positive Verwaltung
False Positives effektiv verwalten und unterdrücken
Problembearbeitung
Alle Probleme in Ihren Projekten verfolgen und verwalten
