Bin gerade dabei Code meiner wirklich hochgeschätzten Kollegen zu Reviewen und spezielle Funktionsweisen von Bestimmten Teilen des Programm-Codes zu überprüfen und natürlich sprachlich zu beschreiben.
Irgendwann musste ich feststellen, dass ich in jedem Satz mindestens einmal das Wort Exception verwenden muss. Ich will das mal nicht werten, denn an den Stellen macht das überall Sinn. Wenn da nicht die Durchreich-Orgien wären. Was meine Kollegen an sich auch sauber gebaut haben sieht um kurz nach 0200 aber aus wie Spagetti-Code aus dem Jahre 1988 als ich noch Programme zur Unterstützung chemischer Maßanalysen in einen Casio Taschenrechner mit BASIC-Interpreter tippen musste (meine Spezies war damals schon verpönt bei den C-Entwicklern die einen richtigen Tischrechner hatten). In der Zeit musste man auch noch vor jedem Befehl die Zeilennummer angeben, die Teil des Programmes war:
10 DIM $i
20 $i = 20
30 $i = $i - 1
40 IF $i > 10 THEN GOTO 30
50 PRINT $i
50 END
So aus dem Stand würde ich sagen, heute würde man dieses Problem wesentlich eleganter lösen (und das ganze wäre auch viel besser erweiterbar und wartbarer. Quasi die Software für das übernächste Jahrtausend):
class Basic_Exception extends Exception {
}
class Basic {
protected $_i = 20;
public static getInstance() {
static $instance;
if (empty($instance)) {
$instance = new Basic();
}
return $instance;
}
public function decrement() {
$this->_i--;
if ($this->_i > 10) {
throw Basic_Exception('goto');
} else {
throw Exception('goto');
}
}
public function __toString() {
return $this->_i;
}
}
Es gibt so Nächte, in denen mich die Vermutung beschleicht, dass OOP nicht nur ein Segen ist, sondern auch im Sinne der erweiterten Albrecht-Doktrin ein Verbrechen an der Zukunft ist. Was sich nebenbei bemerkt an der organisierten Verschwendung von Ressourcen und Entdecke-die-Möglichkeiten an sich durch mutmaßliche Weitsicht in der Software-Entwicklung manifestiert. Oder nicht goto 0.
Hab' ich das geschrieben? Ach nochwas: Das BASIC und das PHP-Beispiel tun natürlich nicht das gleiche, wie man schnell feststellen kann. Letzeres ist wesentlich robuster. Und auch übersichtlicher. Eine schöne Code-Architektur, wenn man so will.
Heute hat mich Herr locke darauf hingewiesen, dass man in so manchen IT-Projekten in der Tat den Humor nicht verlieren darf. Wie recht er damit hat. Mein Rezept: Ab in den Wald und Erde drüber! Aber ich will necrophlirt ja nicht überstrapazieren.
Also hole ich einfach einmal wieder mit etwas zum Bleistift-Wording aus:
Ich finde nämlich nicht, dass Ally McBeal wirklich not getan hat (aber um Sex zu bekommen springe auch ich gelegentlich über meinen Schatten, lege den Rechner beiseite und bilde mich zum Thema Frauen und das heilige Schuhwerk). Ich erinnere mich jedoch zu meiner Schande noch gut an eine der core messages dieser unsäglichen Serie für die Ballkönigin im vorklimakterialen Alter (und baerli):
#1 "Du brauchst eine Hymne!".
Ok, mein Vorschlag für mein Team in München inkl. Agile-Nazi:
#2 Lernt singen!
Wer schon heiser vom agilen Mitmachen beim Bauen der Schnittstellen bei Gayflowr zu youporn.de geworden ist, für den hätte ich eine Alternative anzubieten. (Anm.: Herr Ude hat mir neulich bei den Lokalisten nicht dazu geraten, in einer erotisch aufgeladenen Stimmung wie in der permanenten Entladung unseres Sub-realXXX-indoktrinierten Projekt-Teams, youporn.de zu verlinken. Bekannt ist ja das viele Blut bei uns, wenn die Test im Cruse Control nicht durchgelaufen sind. Aber für den einen oder anderen mag es überraschend neu sein, dass unser Italienischen Hengs mit dem multilingual gut klingenden Namen einem wirklichen Jam-Jam-Verdienst zufällt. Danke, dass du mir die Telefonkonferenzen mit dezentem Telko-Hijacking versüßt!)
Deprecated: Assigning the return value of new by reference is deprecated in /home/www/blog/include/plugin_api.inc.php on line 558
Deprecated: Assigning the return value of new by reference is deprecated in /home/www/blog/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 398
Deprecated: Assigning the return value of new by reference is deprecated in /home/www/blog/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 423
Deprecated: Assigning the return value of new by reference is deprecated in /home/www/blog/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 466
Deprecated: Assigning the return value of new by reference is deprecated in /home/www/blog/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php on line 697