am 21. November 2008
Nach 110 Beiträgen auf phphatesme.com solltet ihr jetzt die ein oder anderen Regel für schönen Code mitgenommen habe. Vielleicht habe ich auch die Liebe zur Softwaretechnik bei euch entfacht.
In der Uni wird einem erklärt, dass Testen der einzige destruktive Prozess im Softwareentwicklungsprozess ist. Dem stimme ich nicht zu, denn das gute alte ReFUCKtoring gibt es ja auch noch. Was, ihr kennt ReFUCKtoring nicht? Unglaublich! Naja, ich glaube auch nicht, dass es den Audruck in irgendeinem Wörterbuch gibt und wahrscheinlich stellt sich da auch jeder etwas anderes darunter vor. Aber ich will heute mal meine Definition dieses Begriffes zu “Papier” bringen.
ReFUCKtoring ist neben Testen, die einzige destruktive Tätigkeit, in der modernen Softwaretechnik. Es hat sich zum Ziel gemacht architektonisch einwandfreien Code zu unterwandern, um seine Kompatibilität und Qualität zu minimieren. Dabei werden Techniken wie Copy & Paste, Anti Pattern und gewöhnlichen Frickeln angewendet um sicherzustellen, möglichst einfache Strukturen aufzublähen und für die Nachwelt unbrauchbar zu machen.
Ich sollte echt beim Duden anfangen. Eine bessere Definition kann man glaube ich kaum schreiben. Ich will ReFUCKtoring aber mal ein einem einfachen Beispiel vorstellen. Nehmen wir an, wir haben ein Blogsystem und wollen es um eine bestimmte Funktion erweitern. Ganz wichtig dabei ist, dass wir uns kein bisschen mit der Architektur des Systems auskennen und wir auch keine Lust haben dies zu ändern. Ok, suchen wir eine Stelle, wo wir unser Feature unterbringen können. Der Code wird natürlich direkt in die vorhandenen Klassen geschrieben; wir wollen ja sichergehen, dass wir kein Update mehr fahren können. Updates sind nämlich etwas für Warmduscher und C++ Entwickler. Ganz angenhnem ist es auch die Logik einfach in die View zu schreiben, denn meistens braucht man ja ein Feauture genau dort. Dokumentation sollte auch nicht vorhanden sein, denn einer unserer wichtigsten Programmierparadigmen lautet: If it was hard to write, it should be hard to read. So ich glaube, wir haben jetzt genügend Schaden angerichtet. ReFUCKtoring vollendet.
Leider habe ich schon sehr viele Projekte gesehen, in denen dies genau so funktioniert hat. Aber wir haben ja alle mal klein angefangen.