Belfour schrieb:
Wenn jegliche Vernunft versagt, vor dem Versionieren über den gesamten Code Suchen/Ersetzen nutzen und aus !true -> false machen.
Ich wollte ja nicht ranten aber:
Wenn es nur die Marotte mit return !true ist -> geschenkt. Aber es gibt da auch den Typ Codemagier: so jemand zaubert noch ganz anderen Mumpitz aus dem Zylinder. Also ohne mal 10.000 Zeilen Code von dem return !true-Spezi gelesen zu haben, würde ich gar nicht erst drüber nachdenken mit dem zu arbeiten.
Stell dir mal vor du hast mit dem was größeres gemacht, musst später seinen Code debuggen, und stellst dann fest:
-er hat als Variablenbezeichner grundsätzlich $a bis $z verwendet, 'um Speicher zu sparen'.
-foreach konsequent gemieden, weil for-Schleifen ja eh viel schneller sind.
-und eben selbiger Optimierungsfreak feuert dann in einer zentralen Funktion in einer For-Schleife Queries auf die Datenbank ab, und du wunderst dich, warum die Software so schlecht skaliert bei größeren Datenbanken. Aus dem Code ist das natürlich nicht sofort ersichtlich, denn
-dass GOTO nur für Notfälle ist wissen die meisten inzwischen, aber kein Mensch hat was von Funktionen gesagt, die Funktionen aufrufen, die Funktionen aufrufen, die Funktionen aufrufen. Selbstverständlich ohne sprechende Funktionsnamen, sondern so Perlen wie function rbw240x(), function rbw241x() usw.
-oder er hat mal was über Rekursion gelesen, und auf einmal nimmt sich PHP 100MB Ram, ohne groß was zu machen.
Der Witz an der Sache ist, dass sich da bei der Entwicklung durchaus was gedacht wird, du hast am Ende lauffähigen Code, der mehr oder weniger auch macht was er soll. Dann verschwindet der Codemagier aus dem Projekt, du guckst ein halbes Jahr später in den Code, weil er anfängt schlecht zu skalieren und löst Indiana-Jones-im-Tempel-mäßig eine Druckplatte nach der anderen aus.