h1

„underscored to camelCase“-Hack

Februar 21, 2009

Charly und ich müssen auf Arbeit gerade alten Code nach einigen Qualitätsstandarts überarbeiten. Dabei gilt auch, dass nun nur noch die camelCase-Methode verwendet wird. Bisher wurden aber sehr häufig Variablen nach der underscore-Methode benannt. Jetzt jede einzelne Variable im Editor zu ersetzen, wäre bei über 120 Dateien recht aufwändig geworden. Deswegen folgender Perl-Einzeiler:

perl -pi -e ’s/\$([\w]+?)_([\w]+)([\W])/\$$1\u$2$3/g‘ `find . -name „*.php“`

Das sucht alle PHP-Variablennamen, die einen Unterstrich enthalten, löscht den Unterstrich und ersetzt den darauf folgenden Buchstaben, mit dem gleichen Großbuchstaben. Sind in manchen Variablennamen mehrere Unterstriche vorhanden, so muss man den Befehl mehrmals ausführen, weil immer nur ein Unterstrich pro Aufruf pro Variablenname ersetzt wird.

2 Kommentare

  1. Man braucht den Befehl nicht mehrfach aufzurufen wenn man den s///-Teil anpasst:

    Aus ’s/\$([\w]+?)_([\w]+)([\W])/\$$1\u$2$3/g’ wird einfach ’while( s/\$([\w]+?)_([\w]+)([\W])/\$$1\u$2$3/g ){}’.

    Im Schleifenkopf wird die Ersetzung ausgeführt, darum braucht man keinen Schleifenkörper mehr.


  2. Das ist natürlich noch besser!
    Vielen Dank =)



Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: