• KISS – Keep it simple and stupid

    von am 7. Oktober 2008

    Keep it simple and stupid. Dieses Thema scheint, nicht zuletzt durch die Keynote von Rasmus Lerdorf auf der Froscon, wieder in aller Munde zu sein. Da wir uns auch immer wieder darüber unterhalten, wollte ich dieses “heikle” Thema hier doch auch mal ansprechen.

    Aber was meint man eigentlich, wenn man vom KISS Prinzip spricht. Bei uns im Team gilt als erste Folge aus diesem Satz die Regel, dass eine Funktion genau eine Aufgabe erledigt und nicht mehr. Klingt eigentlich ganz einfach, ist es aber leider nicht. Ok es ist einfach, aber man hölt sich trotzdem nicht immer dran. Wenn ich für jede Methode die ich gefunden habe, die mehr als 300 Zeilen Code beeinhaltet hat einem Euro bekommen hätte, dann wäre ich jetzt ein reicher Mann. Und bei einer sol langen Funktion, kann mir niemand erzählen, dass sie genau eine Sache erledigt und nicht in Subfunktionen unterteilt werden kann. Bei diesem Problem gint es aber zum Glück einen Lösungsweg, den wir auch gehen. Hier heisst das Zauberwort: Cruise Control. Da wir unser phpUnderControl so konfiguriert haben, dass es mit Hilfe des PHP CodeSniffers bei jeder Funktion motzt, die länger als 100 Zeilen lang ist. Und damit der “Built” nicht schief geht, muss dann gerefactored werden. Vorteil hiervon ist natürlich auch, dass man dich das Testen um einiges erleichtert, da man einzelne Teile für sich untersuchen kann und somit keine Pfade abdecken muss, die vielleicht unmöglich scheinen. Der zweite positive Seiteneffekt ist, dass kurze Funktionen viel einfacher zu verstehen sind als lange. Dies macht sich sehr schnell bemerkbar, wenn man an einem Legacy Projekt mit mehreren Teammitgliedern sitzt.

    Der zweite Punkt den ich ansprechen will sind die Sichtbarkeiten. Ich hoffe mal, dass hier eine rege Diskussion aufkommen wird, denn wir bei der Arbeit haben sie schon öfters gehabt. Meiner Meinung nach, sollte man, auch wenn man weiss, dass eine Methode irgendwann mal public oder protected werden könnte, diese Methoden als private definieren, wenn man sie zum aktuellen Zeitpunkt nicht mit einer höheren Sichtbarkeit braucht. Wow was für ein langer Satz. Ganz klarer Vorteil der Sache ist, dass das Refaktorisieren um einiges einfacher ist, wenn man nur private Methoden besitzt. Ich glaube bei der Frage nach public oder private werden mir alle zustimmen, bei protected und private vielleicht die meisten, aber trotzdem sieht man diese Art Sichtbarkeiten zu verwenden viel zu oft.

    Wer noch mehr zu diesem Thema wissen will, der sollte sich den Vortrag von Derick Rethans zum Thema “Keep it simple, stupid” auf der PHP Conference ansehen.

    Nils Langner

    Auch wenn Ihr es mir nicht glauben werdet, aber ich habe nichts gegen PHP. Ich rege mich einfach nur gerne auf. Ok so schlimm ist es auch nicht. Eigentlich wollte ich schon immer einen Blog haben und da ...

    Zum Profil von Nils Langner

    1 Kommentar »


    • PHP hates me - Der PHP Blog » PHP Konferenz - Tag 4
      am 31. Oktober 2008 um 09:03 Uhr

      [...] Elf war dann wieder Keynote Zeit. Derick Rethans zum Thema K.I.S.S. Ich hatte ja vor kurzem einen Beitrag genau zu diesem Thema verfasst und war deshalb auch von Derick ein wenig enttäuscht. Ich hatte mir [...]

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

    Hinterlasse einen Kommentar

    Werbung
    PHP Magazin
    Ausgabe 02/2010

    Dieses Mal mit Artikeln zu den Themen OpenSocial und Apache Shindig, Graphentheorie, Smarty3

    t3n
    Ausgabe 19

    Social Media (R)evolution. Weitere Themen sind noSQL, Crowdsourcing ...

    PHP Journal
    Ausgabe 2/2010

    PHP & Windows optimal nutzen, die besten PHP-CMS im Überblick, Google-API mit Zend Framework nutzen.

    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.