mitch am :
Ich kann dem Herren irgendwie nicht so ganz folgen...
Den Grundsatz, dass in einem reinen OO-System Nachrichten keine Objekt-Referenzen enthalten, habe ich bisher noch nie gehört. Wenn man so programmieren will, um verteilten State zu verhindern, dann muss man tatsächlich wie von ihm beschrieben Handstände machen, Umwege gehen und Orchestrierungs-Objekte einfügen, da stimme ich ihm zu. Nur: Das hat nichts mit OO zu tun. Wenn man die Klassen weglässt und stattdessen wie von ihm propagiert "nur" prozedural-strukturiert programmiert, muss man exakt die gleichen Aufruf-Hierarchie-Spielchen betreiben. (Der State wird tatsächlich besser gekapselt, aber er ist auch auf dem Rest so rumgeritten.)
An der Stelle, wo er vorschlägt, von einzelnen kleinen übersichtlichen extrahierten Funktionen zurück zu seitenlangen Sammel-Funktionen zu kommen, dachte ich ernsthaft an einen Trollversuch. Vor allem, weil er danach noch Tricks aus der Tüte zieht (anonyme Lambdas in verschachtelten Blöcken), um irgendwie doch noch auf die Vorteile von extrahierten Funktionen zu kommen (keine Nebenwirkungen, klar definierter Variablenzugriff, Übersichtlichkeit). Nur halt, ohne den Funktionen einen Namen geben zu müssen und bei "wir strukturieren mit Kommentaren" zu bleiben.
Zwei Fragen:
* Blackbox-Tests sind zwar blöd, aber manchmal ist es gut, einen Test auf eine so extrahierte kleinere Methode machen zu können. Testet der nicht? Einige Kommentare seinerseits klangen danach.
* Hat er keine IDE? Code-Navigation ist deutlich einfacher, wenn man direkt die Funktionen anspringen kann, statt sich durch die Kommentare "hier Daten laden", "hier sortieren", "hier filtern" zu scrollen.
Ich glaube, er hat einfach Probleme mit gutem Naming (zugegebenermaßen eines der drei großen Probleme in der Informatik ;-) und will sich irgendwie drumherum drücken:
* "Ich weiß keinen guten Namen für diese Methode, also mache ich einen anonymen Block und schreibe statt eines Namens einen Kommentar drüber."
* "Ich weiß keinen guten Namen für diese Klasse, also programmiere ich ohne Klassen."
(Ich habe zufällig gerade einen Tag vorher https://www.youtube.com/watch?v=SFv8Wm2HdNM geguckt, das war auch interessant.)
artodeto's blog about coding, politics and the world am : Die KW 45/2020 im Link-Rückblick
Vorschau anzeigen