Facebook
Twitter
Google+
Kommentare
7

Copy and Paste Detection

Copy and Paste ist meiner Meinung nach eines der schlimmsten verbrechen, die man einem objekt-orientierten Code antun kann. Natürlich gibt es fälle, bei denen es schwer oder sogar unmöglich ist duplizierten Code zu vermeiden, aber in 99,9% kann es durch geschickte Vererbung oder Delegation umgangen werden.

Ich möchte euch heute gar keine Techniken vorstellen, die ihr anwenden könnt um C&P auszulösen, sondern euch ein Werkzeug an die Hand geben, mit dem ihr den doppelten Code findet. Das Tool, das ich meine nennt sich phpcpd (PHP Copy Paste Detection) und stammt aus der Feder (bzw. Keyboard) von Sebastian Bergmann. Ich glaube früher konnte PHPUnit dies nativ selbst, sollte aber in einer der nächsten Versionen verschwinden. Was macht dieses Tool also? Ganz einfach, ich gebe ihm mein Projekt und er schaut nach, welche Zeilen Code er wiederholt findet (und das erstaunlich schnell). Dabei könnt ihr per Kommandozeilen-Parameter einstellen, ab welcher Zeilenanzahl ihr Alarm schlagen wollt. Ich denke hier ist so etwas wie 3-5 Zeilen sinnvoll.

Bei dem Begriff Kommandozeile sind bestimmt die ein oder anderen von euch hellhörig geworden. Das Tool ist natürlich in PHP geschrieben und kann so ohne Probleme in euern Bauprozess mit eingebaut werden. So könnt ihr ohne Probleme euern Continuous Prozess dazu nutzen doppelten Code zu finden und ihn für immer zu verbannen.

Noch eine kleine Information für unsere Stammleser. Da wir Samstag und Sonntag keine Artikel mehr haben und an Feiertagen ja auch nicht, wird es erst wieder am nächsten Dienstag etwas zum Lesen geben.

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

7 Comments

  1. Hallo Nils,

    danke für die interessanten Tipps und Ausführungen auf phphatesme.com.

    Kleine Info zu einem Typo: „und stimmt aus der Feder“. Ob das wirklich stimmt? 😉

    Viele Grüße, schöne Ostern.

    Matthias

    Reply
  2. Wie sieht es hier eigentlich aus?

    Gibt es hier irgendwelche Richtwerte?
    Ich habe hier zB einen Projektteil der aus 1.45% duplicated lines out of 57970 total lines of code besteht.

    Reply

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen