Kapitel 9. Linting mit Ruffund Pre-Commit
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Im Jahr 1978 schrieb Stephen C. Johnson, ein Forscher bei Bell Labs, schrieb ein Programm, das eine Reihe von Fehlern und Unklarheiten in C-Code aufspüren konnte. Er benannte das Programm nach den Fusseln auf deinem Pullover, wenn du ihn aus der Waschmaschine nimmst: Lint. Es sollte das erste einer langen Reihe von Linters werden, Programmen, die den Quellcode analysieren und auf problematische Konstruktionen hinweisen.
Linters führen ein Programm nicht aus, um Probleme zu entdecken, sondern sie lesen und analysieren den Quellcode. Dieser Prozess wird als statische Analyse bezeichnet, im Gegensatz zur Laufzeitanalyse(oder dynamischen Analyse). Das macht Linters sowohl schnell als auch sicher - sie müssen sich keine Sorgen über Nebeneffekte machen, wie z. B. Anfragen an Produktionssysteme. Statische Überprüfungen können intelligent und auch ziemlich vollständig sein - du musst nicht die richtige Kombination von Kanten treffen, um einen latenten Fehler zu finden.
Hinweis
Die statische Analyse ist mächtig, aber du solltest trotzdem Tests für deine Programme schreiben. Während statische Prüfungen auf Deduktion beruhen, nutzen Tests die Beobachtung. Linters überprüfen eine begrenzte Anzahl allgemeiner Code-Eigenschaften, während Tests überprüfen können, ob ein Programm seine Anforderungen erfüllt.
Linters eignen ...
Get Hypermodern Python Tooling now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.