Aus genau diesem Grund sind *für mich* manche Postings mit funktionierendem Code (geniale Ein- oder Zweizeiler, die genau das Problem lösen) völlig unbrauchbar, weil ich's nicht oder nur mit unverhältnismäßig großem Aufwand. nachvollziehen kann.
Imho ist es nicht wichtig, dass man die exakte Funktionsweise des Codes nachvollziehen kann, sondern die Transformation von Eingabe zu Ausgabe und warum das so ist.
Wenn ich aus einem Array einen kommaseparierten String machen möchte, interessiert mich das "wie" eher weniger - ob das mit implode oder irgendwelchen komplexen Stringmanipulationen passiert ist mir egal.
Ich brauche eben folgende Faktoren:
- wie ist das Eingabeformat (und wo komm es her).
- was soll "unten" rauskommen (und wo wird es verwendet).
- warum ist das notwendig.
Punkt 1 und 2 sind wichtig, um Konsequenzen bei Änderungen des Codes abschätzen zu können, Punkt 3 ist nicht ganz so wichtig, hilft aber beim Verständnis des vollumfänglichen Programms.
Wenn Punkt 1 und 2 sauber kommentiert/dokumentiert sind, ist die Funktion zwischen drinnen völlig egal - man kann sie wegwerfen und neuschreiben, wenn man sie nicht versteht. Oder wenn sie einen Bug hat, wegwerfen und neu schreiben - das geht manchmal schneller, als einen Fehler zu suchen - besonders wenns nur wenige Zeilen sind.
Oder wenn man von älteren auf neuere Funktionen umsteigt - stristr() in PHP hat z.B seit PHP 5.3 einen optionalen Parameter ($before_needle) - dies musste man vorher durch andere Stringoperationen oder einen regulären Ausdruck nachbauen. Wenn nun das exakte Verhalten bekannt ist, lässt sich eine bestehende Funktion oder Prozedur durch eine andere gleichwertige, aber einfachere/kürzere/modernere Logik ersetzen.