Hallo Felix,
und auch nicht sehe
darf ich Dich mal daran erinnern, was Du geschrieben hast:
Dass Du es aber Kapseln möchtest, würde für mich ein Auslagern in eine eigene Klasse erzwingen.
Eine einmalig verwendete Hilfsfunktion (ich hatte sie als solche benannt und als Code-Beispiel gepostet) zwingend in eine eigene Klasse stecken...?
Für meine Programmierpraxis ist es ein Unding, wenn mir ein Funktionsaufruf mehrere Rückgabewerte liefert.
Also JavaScript unterstützt Rückgabe von Objekten, von Arrays, Destructuring, Named returns. Gerade bei "Breite/Höhe, x/y, min/max" ist es völlig normal, zwei Werte zurückzugeben. Denn in der Praxis ist das Standard. Und um jetzt auf mein konkretes Beispiel einzugehen, formal technisch: Nein, das sind nicht zwei getrennte Rückgabewerte! Es ist EIN Rückgabewert, nämlich ein Objekt mit zwei Properties:
{ renderWidth, renderHeight }
Das ist ein einziges Objekt. Formal wirkt es , wegen Destructuring, wie zwei Rückgabewerte. Technisch präziser formuliert, gibt die Funktion ein Objekt mit zwei Werten zurück, obwohl man im Alltag wohl "die Funktion gibt zwei Werte zurück" zu sagen zu pflegen scheint. Zwei echte getrennte Rückgabewerte gibt es nicht, auch wenn in der Praxis von "mehreren Rückgabewerten" gesprochen werden kann, ist und bleibt es 1 Objekt.
dann weiß man ja in aller Regel die wichtigen Eigenschaften und Methoden, sodass man eben nicht springen muss.
Jeder, der Codet, springt ständig, sucht ständig, verliert ständig Kontext, muss ständig nachsehen. Genau aus diesen Gründen existieren ja LSP, IntelliSense, Go‑to‑Definition, Peek Definition, Folding, Breadcrumbs, Minimap, Outline View. Wenn "man ja alles weiß", dann bräuchte es das alles nicht. Und dann würde auch nicht deutlich über 50% der Entwicklungszeit auf Debugging und Fehlersuche fallen.
Wenn also Dein fitIntoBox nur ein einziges Mal im Code aufgerufen wird, dann wäre das für mich ein Grund, dass es regulär als eine Folge von nicht-gekapselten Anweisungen im Code steht.
Das bedeutet ja im Umkehrschluss: Alle Codezeilen, weil sie ja jeweils nur ein einziges mal im Code vorkommen, stehen dann hintereinander weg meterlang in Reih und Glied…
Lieber Felix, Deine Antworten sprechen für sich...
Gruß, fischlak