• Professional Refactoring

    Der Vortrag Professional Refactoring wurde in den Kategorien Softwaretechnik, Vorträge einsortiert.

    Diese Präsentation auf Slideshare

    5 Kommentare »


    • IchBinIch
      am 27. Februar 2010 um 17:39 Uhr

      Ich bin mir nicht sicher wo ran es liegt, aber ich kann weder in Opera, noch im IE oder FF den Full Screen Modus aktivieren – das ist stpätestens bei den Codebeispielen ein wenig schade – wäre schön, wenn man das beheben könnte …


    • Nils Langner
      am 27. Februar 2010 um 21:15 Uhr

      Kann ich bestätigen. Habe den Link hier gefunden: http://blog.slideshare.net/2006/12/19/slideshare-full-screen-not-working-check-your-popup-blockers/ aber ich selbst bekomme ich es auch nicht zum Laufen.


    • Tom
      am 28. Februar 2010 um 01:27 Uhr

      Ja, nettes Beispiel – ABER: der Code der im Refactoring gezeigt wurde ist eigentlich bereits erstaunlich sauber.

      Dabei war am Anfang noch die Rede von: “no coding standards, no documentation, no template system, nobody cared about security, often changed, never refactored”. Davon sieht man anschließend leider gar nichts mehr!

      Jetzt lass dich mal nicht lange bitten, sondern mach deine Trickkiste auf.

      Greif doch die eigenen Worte wieder auf: man nehme einen wilden Mix aus HTML+JS+CSS+PHP ohne Dokumentation, keine sprechenden Variablen, bunte Mischung aus Deutsch und Englisch, Copy&Paste-Programmierung und alles ohne OOP. Vielleicht wurden als “Sahnehäubchen” noch “Funktionen” über include(“foo.php”) realisiert? Register-globals gehört natürlich auch dazu.

      Wie wäre es dazu noch mit einem klassischen Datenbankchaos? Falsch verwendete Datentypen, Inkonsistenzen, unklare Kardinalitäten, keine Fremdschlüssel. Natürlich als Folge davon ellenlange SQL-Abfragen, von denen keiner weiß, warum sie 240 Sekunden lang laufen, um 200 Datensätze zu holen.

      Also: dann lass dich nicht lange bitten und tue ein bisschen Butter bei die Fische! Wie analysierst du einen großen Haufen Matsch und wie räumst du danach den Saustall auf? Welche Methoden benutzt du zur Code-Analyse und Reverse-Engineering? CodeSniffer? Copy&Paste-Erkennung? Wertebereichsanalyse und (Re-)Migration der Daten? Suche über RegEx?

      Variablen umbenennen, Methoden und Klassen zerlegen, Kohäsion und Kopplung: diese Einstiegsdrogen bekommen wir überall geboten.

      Unser erstes Problem ist schon mal, dass wir den Chef überzeugen müssen, dass ein Refactoring notwendig ist, obwohl es Geld kostet und das Programm hinterher nicht anders aussieht oder funktioniert als vorher. Ja, was noch viel schlimmer ist: er dafür auch keine Rechnung stellen kann.

      Wie reagierst du, wenn die BWLer im Management dir sagen: “Aber warum denn – es hat doch all die Jahre gut funktioniert!”


    • Nils Langner
      am 28. Februar 2010 um 19:45 Uhr

      @Tom: Dein Kommentar hat das Potential für viele Artikel. Ich schau mal was ich machen kann.


    • Thorsten
      am 28. Februar 2010 um 21:25 Uhr

      Hi Tom,

      dein Kommentar ist echt gut. :-)

      Tools, die wir verwenden sind u.a. der PHP_CodeSniffer, phploc, phpcpd, den PHP_CodeBrowser, Padawan und den Zend Code Analizer. Ganz wichtig ist auch Zeit und Mut, auch mal über längere Zeit schlechten Code noch zu behalten, bis man eine sinnvolle Verbesserung hat. Refactoring dauert einfach und geht nur in kleinen iterativen Schritten.

      Viele Grüße
      Thorsten

      P.S.: Der Talk war von mir. ;-)

    RSS Feed für Kommentare zu diesem Artikel. TrackBack URL

    Hinterlasse einen Kommentar

    Wir wurden schon öfters gefragt, ob man uns nicht irgendwie unterstützen kann. Die Antwort war immer einfach: Klar! Am einfachsten ist es eure nächsten Einkäufe bei Amazon über unsere Link abzuwickeln. Damit würdet ihr uns schon sehr helfen. Über Co-Autoren freuen wir uns aber noch mehr.