Bernhard: Funktionen unterteilen oder nicht?

Beitrag lesen

Hi!

Auch wenn man (bei PHP weniger üblich, aber z.B. im Visual Studio sehr gut nutzbar) mit schrittweisem Debugging einem Fehler auf der Spur ist, bewirkt so ein Abtauchen in eine Funktion eine Unterbrechung des Flusses und einen Ortswechsel im Code. Andererseits kann man den Funktionsaufruf auch überspringen. Doch dafür kann man im Geradeaus-Code einen Breakpoint bemühen, zu dem man springen kann.

Den Breakpoint kann man doch auch in die Subfunktion setzen. Das Rein- oder Übersteppen in/über die Subfunktion kostet mich einen zusätzlichen Tastendruck einer Taste, die ich sowieso beim Debuggen permanent drücken muss (F10 in der Visual-Studio-Standardkonfiguration). Den nehme ich gerne in Kauf, wenn meine Funktionen dafür sauber gegliedert sind.

Zudem verschwindet die Komplexität der gewünschten Funktionalität nicht, sie wird nur verlagert
Vom Verschwinden hat auch niemand was gesagt. Sie ist nur besser gegliedert und kann so leichter erfasst werden.

Oder auch nicht.

Naja, was macht man jetzt mit sowas? ;-)

Durch das Verlagern hat man nun den übrig gebliebenen Code hier und den ausgelagerten Code in der Funktion oder in mehreren woanders. Ergibt mehrere Stellen, die zu beachten sind (statt einer großen). Auf alle Fälle muss man zum ausgelagerten Code springen (zumindest wenn man den Ablauf das erste Mal studiert), und verliert dabei vielleicht die andere Stelle aus dem Auge/Editor-Fenster.

Geht es nur um das nachvollziehen des Ablaufs? Wenn ja, dann bieten Subfunktionen für mich gerade dabei den großen Vorteil des Drübersteppen-Könnens. Das geht bei einer langen Wurst nur mit zusätzlichen Breakpoints und man muss statt "F10 F10 F10" "F10 F5 F10" drücken. Und die zusätzlichen Zeilen, die ich eigentlich gar nicht sehen will, irritieren mich trotzdem, denn sie stehen ja da, auch wenn ich über sie drüber hinweg steppe.

Eben ganz grundsätzlich: Wenn die lange Wurst in Unteraufgaben aufgedröselt ist, dann habe ich den Überblick und die vielen mit Details beschäftigten Codezeilen lenken mich nicht ab.

<del>Unfug.</del><ins>Das sehe ich nicht so.</ins> Jedes Werkzeug kann unsachgemäß verwendet werden. Monstercode ensteht sicher nicht primär duch klappbaren Code sondern durch unüberlegtes Programmieren.

100%ig d'accord. Ich habe groteskt übertrieben. Dachte, das wäre offensichtlich, sorry. :-)

Und ich google jetzt nicht, denn ich setze #region sehr gern ein. Nicht nur, um den gerade nicht benötigten Code einklappen und mich damit schnell zwischen Codestellen hin- und herbewegen zu können, zwischen denen anderer Code liegt, sondern auch um die Methoden nach organisatorisch sinnvollen Gesichtspunkten zu bündeln.

Methoden mit regions gruppieren ist natürlich sinnvoll; s.o. Dass regions eben verwendet werden können, um überlangen Code zu kaschieren, birgt aber eben ein gewisses Missbrauchs

Grüße
Bernhard