Pre-Commit: Ein unverzichtbares Tool zur Code-Qualitätssicherung

  • 1. Januar 1

Was ist Pre-Commit?

pre-commit ist ein Open-Source-Tool, das Git-Hooks nutzt, um vor dem Festschreiben von Änderungen bestimmte Prüfungen und Formatierungen durchzuführen. Entwickler können damit sicherstellen, dass ihr Code bestimmten Standards entspricht, bevor er in das Repository gelangt. Beispiele für solche Checks sind Code-Linting, Formatierung oder Sicherheitschecks.

Vorteile von Pre-Commit

Die Nutzung von pre-commit bietet eine Reihe von Vorteilen:

  • Früherkennung von Problemen: Probleme werden bereits lokal erkannt, bevor der Code ins Repository übertragen wird.
  • Konsistenter Code-Stil: Durch automatische Formatierungen bleibt der Code-Stil einheitlich.
  • Zeiteinsparung: Fehlerhafte Commits werden vermieden, was die Notwendigkeit für spätere Code-Reviews und Korrekturen reduziert.

Einrichtung von Pre-Commit

Die Einrichtung von pre-commit ist einfach und erfordert nur wenige Schritte. Zuerst muss pre-commit installiert werden:

pip install pre-commit

Danach wird die Konfigurationsdatei .pre-commit-config.yaml im Wurzelverzeichnis des Projekts angelegt. Die folgende Beispielkonfiguration zeigt gängige Checks:

---
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.3.0
    hooks:
    - id: trailing-whitespace
    - id: end-of-file-fixer
    - id: check-yaml
    - id: check-added-large-files
    - id: check-xml  # Überprüft XML-Dateien auf korrekte Syntax
    

Diese Konfiguration führt verschiedene Checks aus, wie das Entfernen überflüssiger Leerzeichen, die Sicherstellung einer korrekten Dateiende und Validierung von XML-Dateien.

Nachdem die Konfiguration erstellt wurde, kann sie mit dem Befehl pre-commit install aktiviert werden. Pre-commit wird dann automatisch bei jedem Commit ausgeführt.

Unterschied zwischen Pre-Commit und CI/CD

Pre-commit und CI/CD-Tools wie GitHub Actions oder Jenkins verfolgen das gleiche Ziel: die Code-Qualität sicherzustellen. Der Unterschied liegt in der Art und Weise und im Zeitpunkt ihrer Ausführung:

  • Pre-Commit: Läuft lokal und stoppt fehlerhafte Commits bevor sie ins Repository gelangen.
  • CI/CD: Läuft nach dem Push im Repository und überprüft den Code zentral für das gesamte Team.

Die Kombination aus pre-commit und CI/CD bietet maximale Codequalität, indem sie Fehler frühzeitig lokal und später auch zentral abfängt.

Fazit

Pre-commit ist ein leistungsstarkes Tool, das durch frühzeitige Prüfung und Formatierung die Codequalität erheblich verbessert. Es reduziert Fehler und spart Zeit, indem es Konsistenz sicherstellt und Fehler frühzeitig erkennt. Eine gute Ergänzung zu zentralen CI/CD-Systemen, um qualitativ hochwertigen Code in Teams zu gewährleisten.

comments powered by Disqus

Ähnliche Artikel

So verbindest du dich via SSH mit einem Server auf Windows, macOS oder Linux

So verbindest du dich via SSH mit einem Server auf Windows, macOS oder Linux

SSH (Secure Shell) ist ein Protokoll, das eine sichere, verschlüsselte Verbindung zu einem Remote-Server ermöglicht. In diesem Artikel erfährst du, wie du dich via SSH mit einem Server unter Windows, macOS oder Linux verbindest, SSH-Schlüssel für die Authentifizierung nutzt und Sicherheitsüberlegungen für SSH berücksichtigst…

Weiterlesen
Product Information Management (PIM): Ein Leitfaden für Unternehmen

Product Information Management (PIM): Ein Leitfaden für Unternehmen

Dieser Leitfaden bietet eine Einführung in Product Information Management (PIM) und erläutert die Vorteile, Funktionen und Einsatzmöglichkeiten von PIM-Systemen. Erfahre, wie ein PIM-System Unternehmen dabei unterstützt, Produktinformationen zentral zu verwalten und effizient über verschiedene…

Weiterlesen
Gefahren im Griff: Das ultimative Risk-Management für Shopbetreiber

Gefahren im Griff: Das ultimative Risk-Management für Shopbetreiber

Für Shopbetreiber, ob stationär oder online, ist das Risikomanagement ein unverzichtbarer Bestandteil des Geschäfts. Risiken wie Lieferkettenprobleme, Zahlungsbetrug, rechtliche Verpflichtungen oder technologische Ausfälle können den Geschäftsbetrieb erheblich…

Weiterlesen