Inhaltsverzeichnis
Einleitung Class Leak
Class Leak ist ein Tool, das nicht genutzte Klassen in deinem Projekt identifiziert. Es hilft dir, veralteten und ungenutzten Code zu finden und zu entfernen, was dein Projekt schlanker und wartungsfreundlicher macht.
Installation und Einrichtung von Class Leak
Die Installation erfolgt in Javascript mit folgendem Code:
composer require tomasvotruba/class-leak --dev
Ein erster Befehle könnte zum Beispiel wie folgt lauten:
vendor/bin/class-leak check /src /tests
Konfiguration und Anpassung von Class Leak
Konfiguration und Anpassung von Class Leak
Class Leak lässt sich über Kommandozeilenoptionen konfigurieren. Einige wichtige Optionen sind:
--skip-type
: Zum Ausschließen bestimmter Klassen oder Interfaces--skip-suffix
: Zum Ausschließen von Klassen mit bestimmten Suffixen--skip-attribute
: Zum Ausschließen von Klassen mit bestimmten Attributen
Beispiel:
vendor/bin/class-leak check src --skip-type="App\Contract\SomeInterface" --skip-suffix "Controller"
Verwendung von Class Leak
Class Leak ist besonders nützlich für:
- Bereinigung von Legacy-Code
- Identifizierung obsoleter Klassen nach Refactoring
- Verbesserung der Codequalität und -übersichtlichkeit
Ein typischer Workflow könnte so aussehen:
- Führen Sie Class Leak regelmäßig aus
- Überprüfen Sie die identifizierten ungenutzten Klassen
- Entfernen Sie die Klassen oder dokumentieren Sie, warum sie beibehalten werden
Integration in CI/CD-Pipelines
Class Leak lässt sich leicht in CI/CD-Pipelines integrieren. Hier ein Beispiel für GitHub Actions:
name: Check for unused classes
on: [push, pull_request]
jobs:
class-leak:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: composer install
- name: Run Class Leak
run: vendor/bin/class-leak check src
Erreichen Sie unsere PHP Consultant Spezialisten
Wir sind Experten für PHP und helfen Ihnen, Ihre digitalen Herausforderungen zu meistern. Unser erfahrenes Team unterstützt Sie bei PHP Updates, PHP Refactoring und berät Sie remote zu allen Fragen rund um PHP. Mit unseren vollautomatischen CI/CD Deployments und einer robusten Docker-Infrastruktur bringen wir Ihre PHP-Projekte auf das nächste Level. Vertrauen Sie auf unsere Expertise für zuverlässige und skalierbare PHP-Lösungen.
Häufig gestellte Fragen (FAQ)
Welche Vorteile bietet Class Leak?
Es spart Speicher und vereinfacht die Wartung deines Projekts, indem es ungenutzte Klassen eliminiert. Dies führt zu effizienteren und leichter zu wartenden Projekten, vor allem in großen Codebasen.
Wann solltest du Class Leak verwenden?
Am besten verwendest du Class Leak, sobald du in einem Projekt einen gewissen PHPStan-Level (mindestens Level 2) erreicht hast. Es ist besonders nützlich in größeren Projekten mit vielen Abhängigkeiten.
Warum sollte ich Class Leak verwenden?
Unbenutzte Klassen nehmen Speicherplatz ein und machen den Code schwieriger zu warten. Class Leak hilft dir dabei, den Code sauber und schlank zu halten, indem es ungenutzte Klassen identifiziert, die sicher entfernt werden können.
Wann ist der Einsatz von Class Leak sinnvoll?
Class Leak ist besonders nützlich, wenn dein Projekt gewachsen ist und du den Überblick über alle Klassen verloren hast. Wenn du PHPStan Level 2 erreicht hast, kannst du dieses Tool einsetzen, um unnötige Komplexität zu vermeiden.
Wie hilft Class Leak meinem Projekt langfristig?
Durch das Entfernen von unnötigen Klassen bleibt dein Projekt besser wartbar und performanter. Außerdem verringert sich die Wahrscheinlichkeit, dass zukünftige Entwickler auf veralteten Code stoßen, der unnötig verwirrt.
Fazit
Class Leak ist ein wertvolles Werkzeug für PHP-Entwickler, die ihre Codebasis optimieren und wartbar halten möchten. Durch die regelmäßige Anwendung von Class Leak können Entwickler sicherstellen, dass ihr Code schlank und effizient bleibt, was langfristig zu einer verbesserten Codequalität und einfacheren Wartung führt.
Weiterführende Ressourcen
Offizielle Class Leak GitHub-Repository
Blog-Post von Tomas Votruba über Class Leak
PHP-FIG Standards für Best Practices in PHP-Projekten