Willkürliche Blöcke sind nützlich, um Zwischenvariablen einzuführen, die nur in speziellen Fällen einer Berechnung verwendet werden.
Dies ist ein gängiges Muster im wissenschaftlichen Rechnen, bei dem numerische Verfahren typischerweise:
- sich auf viele Parameter oder Zwischengrößen verlassen;
- müssen sich mit vielen Sonderfällen auseinandersetzen.
Aufgrund des zweiten Punktes ist es sinnvoll, temporäre Variablen mit begrenztem Gültigkeitsbereich einzuführen, was durch die Verwendung eines beliebigen Blocks oder durch die Einführung einer Hilfsfunktion erreicht wird.
Während die Einführung einer Hilfsfunktion wie ein Kinderspiel
oder eine bewährte Methode aussieht, die man blindlings befolgen sollte, hat dies in dieser speziellen Situation nur geringe Vorteile .
Da es viele Parameter und Zwischengrößen gibt, wollen wir eine Struktur einführen, um diese an die Hilfsfunktion weiterzugeben.
Da wir jedoch konsequent mit unseren Praktiken umgehen wollen, werden wir nicht nur eine Hilfsfunktion einführen, sondern mehrere. Ob wir also Ad-hoc-Strukturen einführen, die Parameter für jede Funktion übermitteln, die viel Code-Overhead zum Hin- und Herbewegen von Parametern verursachen, oder ob wir eine Struktur für alle Arbeitsblätter einführen , die alle unsere Variablen enthält, aber so aussieht Ein Grabpack von Bits ohne Konsistenz, bei dem zu jeder Zeit nur die Hälfte der Parameter eine interessante Bedeutung hat.
Daher sind diese Hilfsstrukturen in der Regel umständlich und erfordern die Wahl zwischen Code-Bloat oder die Einführung einer Abstraktion, deren Umfang zu weit gefasst ist, und schwächen die Bedeutung des Programms, anstatt es zu erweitern .
Die Einführung von Hilfsfunktionen könnte das Unit-Testen des Programms vereinfachen, indem eine feinere Testgranularität eingeführt wird. Die Kombination von Unit-Testing für nicht so einfache Prozeduren und Regressionstests in Form von Vergleichen (mit einer bestimmten Anzahl von numerischen Spuren der Prozeduren) ist jedoch ebenso gut .