Linting, Stan, phpCS, Audit

14. November 2025, 10:40 Uhr · Quelle: Pressebox
Linting, Stan, phpCS, Audit
Foto: Pressebox
Linting, Stan, phpCS, Audit
Unser Team verwendet Tools wie phpcs und phpStan, um Code-Konsistenz zu gewährleisten. Lernen Sie, wie automatische Audits frühe Fehlererkennung ermöglichen und die Entwicklung optimieren.

Karlsruhe, 14.11.2025 (PresseBox) - Als Entwickler sollte man sich immer darauf verlassen können, dass der Code, den man schreibt, so funktioniert wie er soll, und dass er keine Nebenwirkungen auf ältere, bereits bestehende Funktionen hat. Zu diesem Zweck gibt es automatische Tests. Wie mein Team bei der punkt.de diese verwendet, kann man in der Artikelserie über Tests nachlesen.

First things first - Automatisierung

Unsere Tests werden nach jedem Commit und nächtlich (auf dem Main-Branch) von GitLab CI ausgeführt.

Ein sauberer, standardisierter Code ist leichter wartbar

Die erste Stufe für uns ist, dass alle Entwickler des Teams den Code auf die selbe Weise schreiben. Hierfür nutzen wir je nach Programmiersprache diverse Tools:

  • phpcs (php)
  • yamllint (YAML)
  • eslint (TypeScript und JavaScript)
  • stylelint (CSS und SCSS)
Jedes dieser Tools funktioniert auf die gleiche Art - es prüft den geschriebenen Code auf die Form, die in einer entsprechenden Configdatei vermerkt ist, und stellt sicher, dass kein Entwickler davon abweicht. Wie strikt oder offen die Dateien sind, kann natürlich je nach Team unterschiedlich sein - abgesehen von phpcs, dieses nutzt den per PSR definierten Codestyle von php selbst und kann sogar je nach Version andere Varianten prüfen. Das Besondere bei diesen Tests ist, dass sie bereits im git-Workflow vor einem Commit ausgeführt werden, und damit kein Entwickler unbewusst Code mit inkorrektem Codestyle in das zentrale Repository übertragen kann - wenn es um Work in Progress geht, kann man den Schritt temporär überspringen, was dann aber ein sehr bewusst durchgeführter Schritt ist.

Zukünftige Fehler verstecken sich in Details

Der nächste Schritt ist phpStan. Dieses Tool prüft, ob der Code so geschrieben ist, dass Datentypen eingehalten bleiben und konsistent sind. Beispielsweise reicht es nicht, ein Array als Array zu definieren - Stan zwingt uns dazu, dass wir definieren, dass es beispielsweise ein Array aus Zahlen ist, welches Strings als Keys besitzt. Stan lässt sich dabei in 9 (zukünftig 10) Levels konfigurieren, jeder Level ist strikter als der Level zuvor. In unserem größten Projekt im Team verwenden wir derzeit Level 8 - Level 9 würde uns dazu zwingen, dass wir mit mixed als Datentyp genauer umgehen, was in einem Umfeld wie TYPO3 mit stellenweise ziemlich flexiblen Collections und Arrays größeren Definitionsaufwand bedeuten würde.

Durch die Prüfungen wird erreicht, dass selbst durch mehrere Schichten Programmiercode und auch durch Fremdcode Datentypen sauber sind, und Funktionen nicht inkorrekt verwendet werden können, was bei neuen Entwicklungen zu besserer Konsistenz verhilft.

Die Ausführung von Stan dauert verglichen mit den Linting-Tests vergleichsweise lang, weswegen wir uns entschieden haben, diese nur im Rahmen der Pipelines auszuführen und nicht direkt innerhalb des git-Workflows.

Sicherheitslücken so früh wie möglich sehen

Im Team haben wir die Entscheidung getroffen, dass wir so weit wie möglich keine Fremdlibraries und -pakete mit bekannten Sicherheitslücken auf Kundenserver zu deployen. Zu diesem Zweck führen wir die Befehle npm audit --omit=dev und composer audit aus, welche die über den entsprechenden Paketmanager installierten Pakete gegen zentrale CVE-Datenbanken prüfen, und betroffene installierte Versionen anmerken. Bei npm ignorieren wir die Dev-Pakete, da diese bei Deployments ausgenommen sind und damit ohnehin nicht auf Kundenservern ausgeführt werden.

Dieser Schritt war uns wichtig genug, dass wir ihn im Rahmen des git-Workflows bei jedem Push ausführen, und wie bei den Linting-Schritten kann ein Entwickler bewusst den Test überspringen - dies ist zum Beispiel dann im Ablauf notwendig, dass man nicht mehrfach Paketupdates in mehreren Branches durchführen möchte. Wir können die betroffenen Versionen in Branches pushen, im main-Branch das Update durchführen und anschließend die anderen Branches rebasen.

Uns ist auch bewusst, dass Sicherheitslücken auch bekannt werden können, wenn wir gerade nicht pushen müssen oder viele Pipelines durchgeführt werden. Daher haben wir weitere Abläufe, um bestehenden Code und Releases zu untersuchen, was aber ein Thema für einen weiteren Blogbeitrag ist.

Ausblick

Dies war der erste von 3 Artikeln zu unseren Tests. Freut euch auf Teil 2 über unseren Umgang mit Unittests und anderen Tests mit phpUnit, und auf Teil 3 für API- und Browsertesting.

Agiles Testing und Prozess-Know-how für Ihr Team:

Egal ob Agentur, Industrieunternehmen oder ein eigenständiges Entwicklerteam: Wenn Sie agile Testing-Prozesse etablieren oder weiterentwickeln wollen, unterstützen wir Sie mit unserem Know-how – sei es durch praxisorientierte Workshops oder durch direkte, projektbezogene Mitarbeit. Wir begleiten Sie von der Einführung agiler Testmethoden über die Optimierung bestehender Abläufe bis hin zur Entwicklung und Umsetzung individueller Testing-Strategien. Sprechen Sie uns gerne an, um gemeinsam Ihre Qualitätssicherung und Entwicklungsprozesse auf ein neues Level zu heben!

Software / Code-Linting / PHP / Testing / Security
[pressebox.de] · 14.11.2025 · 10:40 Uhr
[0 Kommentare]
„Ich werde nie vergessen, wie stolz sie waren“
Hannover, 08.12.2025 (PresseBox) - Das WIR-Stipendium der Hochschule Hannover unterstützt engagierte Studierende und schafft Freiräume für ein anspruchsvolles Studium. Eine der geförderten Stipendiatinnen ist Kimia Asa, Studentin der Sozialen Arbeit, die sich besonders für Frauen und Kinder mit Fluchterfahrung einsetzt. Ihr Engagement ist eng mit ihrer eigenen Geschichte verbunden – im Alter von […] (00)
vor 12 Stunden
Verwaltungsgericht (Archiv)
Berlin - Für seine angekündigten Musterklagen gegen die Zweckentfremdung gesetzlicher Pflegebeiträge wird der Sozialverband VdK mit 24 gesetzlich Versicherten demnächst bundesweit vor die Verwaltungsgerichte ziehen. Das berichtet der "Tagesspiegel". Auf einen entsprechenden Aufruf des Verbandes hatten sich insgesamt 720 klagewillige VdK-Mitglieder gemeldet. Die Aufnahme der ersten […] (00)
vor 1 Stunde
Clementine Douglas dachte zunächst, eine Kollaborationsanfrage von Calvin Harris sei ein Fake.
(BANG) - Clementine Douglas dachte zunächst, eine Kollaborationsanfrage von Calvin Harris sei ein Fake. Der 41-jährige DJ schrieb der britischen Sängerin und Songwriterin überraschend auf Instagram und bat sie, den Song 'Blessings' einzusingen, der im Mai erschien und weltweit ein Hit wurde. Auf die Frage, ob sie anfangs an einen Hoax geglaubt habe, sagte Clementine (33) jetzt: "Ja! Es war […] (00)
vor 12 Stunden
Samsung One UI – Beta-Programm kommt mit einigen nützlichen Upgrades im Gepäck
Das Samsung One UI 8.5 Beta-Programm kommt und hat einige nützliche Upgrades im Gepäck: Nutzer*innen sollen noch einfacher Bilder bearbeiten, sich mit Familie und Freund*innen connecten und ihre Geräte im Galaxy Ecosystem verwalten und absichern können. Was gibt es Neues rund um Fotos? One UI 8.5 macht es noch einfacher und intuitiver, Bilder aufzunehmen und sie zu teilen. Mit der neuen Version […] (00)
vor 36 Minuten
Final Fantasy 7 Remake Part 3: Titel-Entscheidung fällt 2025 – Steht die große Enthüllung bevor?
Die Remake-Trilogie rund um Final Fantasy 7 steuert auf ihr großes Finale zu und jetzt wissen wir endlich, wie weit der Prozess tatsächlich ist. In einem neuen Interview mit Julien Chièze bestätigte Naoki Hamaguchi, Director von Final Fantasy 7 Rebirth, dass er und Creative Director Tetsuya Nomura die Titelsuche für Teil 3 auf nur noch zwei Varianten reduziert haben. Die endgültige Entscheidung […] (00)
vor 8 Stunden
ABC News zündet «Avatar»-Doppelschlag
Kurz vor dem Kinostart von «Avatar: Fire and Ash» begleitet ABC News das Mega-Franchise mit zwei großen Specials. ABC News begleitet den weltweiten Hype um «Avatar: Fire and Ash» mit gleich zwei neuen Specials im Dezember. Bereits am 12. Dezember zeigt der Sender zur Primetime die einstündige Avatar: A New Era – Special Edition of 20/20, die am Folgetag auch bei Hulu und Disney+ verfügbar sein wird. Drei Tage später folgt ein weiteres […] (00)
vor 6 Stunden
New York Knicks - Orlando Magic
Orlando (dpa) - Deutschlands Basketball-Star Franz Wagner wird den Orlando Magic in der NBA vorerst fehlen, hat aber nicht die befürchtete schwere Knieverletzung erlitten. Eine MRT-Untersuchung habe ergeben, dass der 24-Jährige sich das linke Sprunggelenk verstaucht habe, teilte sein Club mit. Seine Rückkehr hänge davon ab, wie er auf die Behandlung anspreche. NBA-Experte Shams Charania schrieb bei X, dass eine solche Verletzung in der […] (01)
vor 8 Stunden
Kostenloses Stock Foto zu analyse, analysieren, analytik
XRP-Preis begann eine Erholungswelle über $2.080. Der Preis konsolidiert sich nun und könnte Schwierigkeiten haben, den Widerstand bei $2.10 zu überwinden. XRP-Preis startete eine Erholungswelle über der $2.060-Zone. Der Preis wird jetzt über $2.050 und dem 100-stündigen einfachen gleitenden Durchschnitt gehandelt. Es bildet sich eine bärische Trendlinie mit […] (00)
vor 59 Minuten
 
Hamburger LOTTO-Spieler gewinnt bei der Zusatzlotterie Spiel77 mehr als fünf Millionen Euro
Hamburg, 08.12.2025 (lifePR) - Die Zusatzlotterie Spiel77 bescherte einem Hamburger LOTTO-Spieler eine […] (00)
Standortnetz der ARNDT Mobility Group weiter auf Wachstumskurs
Neuss, 08.12.2025 (PresseBox) - Zum Ende des Jahres eröffnet die ARNDT Mobility Group gleich […] (00)
2.000 Euro für die Musiktherapie des Kinder-Palliativteams am Klinikum Karlsruhe
Karlsruhe, 08.12.2025 (lifePR) - Das Kinderpalliativteam am Städtischen Klinikum Karlsruhe […] (00)
Spannungen zwischen Kambodscha und Thailand
Bangkok/Phnom Penh (dpa) - Nach dem erneuten Aufflammen eines Grenzkonflikts will Thailand das […] (00)
Fußball-Nationalmannschaft
Frankfurt/Main (dpa) - Julian Nagelsmann startet mit der Nationalmannschaft mit einem Testspiel […] (02)
Deutsch-Rumänischer Film «Clara» im ZDF zu sehen
Der Film behandelt ein rumänisches Migrationsthema aus der Sicht einer Mutter, die sich ihrem Versagen […] (00)
Warum Nestlé seine Marktführerrolle verspielt – und wie riskant der Umbau wird
Ein Satz hallt derzeit durch die Werke von Nestlé – und er bringt die Lage auf den Punkt: „Wir […] (00)
Jane Seymour
(BANG) - Jane Seymour hat auch mit 74 Jahren Spaß im Schlafzimmer. Die ehemalige 'James Bond'- […] (01)
 
 
Suchbegriff