h1

Perl rocks

Januar 30, 2009

Charly und ich haben die Aufgabe PHP-Code nach bestimmten Qualitätsstandards zu überarbeiten. Zum Beispiel dürfen für Variablennamen keine Abkürzungen verwendet werden. Man könnte jetzt also eine Datei nach solchen falschen Variablennamen durchsuchen und sie mit den Besseren ersetzen, indem man die Editor-Funktionen für globales Ersetzen verwendet. Das Problem ist, dass Variablen nicht nur in einer Datei verwendet werden, sondern teilweise überall im Projekt, verstreut in verschiedenen Dateien. Welcher Editor kann aber von Hause aus rekursiv in allen Dateien des Projekts Variablennamen ersetzen? Meiner jedenfalls – soweit ich weiß – nicht.

Eine Lösung ist Perl in Verbindung mit find:

perl -pi -e ’s/$schlechteVar/$guteVariable/g‘ `find . -name „*.php“`

Das ersetzt alle Vorkommen von ‚$schlechteVar‘ mit ‚$guteVariable‘ in allen Dateien unterhalb des aktuellen Verzeichnisses, die auf .php enden.

Eine weiterer Standard wurde festgelegt, der besagt, dass alle geschweiften Klammern auf eine einzelne Zeilen müssen. Also statt z.B. (wie eigentlich üblich):

if (Bedingung) { …

soll es so aussehen:

if (Bedingung)

{

Auch hier hilft wieder Perl! Diese beiden Befehle, sollten dafür sorgen, dass alle geschweiften Klammern auf einzelnen Zeilen landen:
perl -pi  -e ’s/([^[:blank:]]+?)[[:blank:]]*?{/$1\n{/g‘ `find . -name *.php`

perl -pi -e ’s/}[[:blank:]]*([^[:blank:]]+.*?\n$)/}\n$1/g‘ `find . -name *.php`
Wie gesagt: Perl rocks!

Ein Kommentar

  1. Dreamweaver kommt das glaube ich 😉

    Benutzt ich aber auch ewig schon nimmer…



Hinterlasse einen Kommentar