Arbitralne bloki są przydatne do wprowadzania zmiennych pośrednich, które są używane tylko w szczególnych przypadkach obliczeń.
Jest to powszechny wzorzec w obliczeniach naukowych, w których procedury numeryczne zwykle:
- polegać na wielu parametrach lub ilościach pośrednich;
- mam do czynienia z wieloma specjalnymi przypadkami.
Ze względu na drugi punkt przydatne jest wprowadzenie zmiennych tymczasowych o ograniczonym zasięgu, które osiąga się dodatkowo, stosując dowolny blok lub wprowadzając funkcję pomocniczą.
Chociaż wprowadzenie funkcji pomocniczej może wydawać się bezmyślnością
lub najlepszą praktyką, którą należy ślepo stosować, w rzeczywistości w tej konkretnej sytuacji jest niewiele korzyści .
Ponieważ istnieje wiele parametrów i wielkości pośrednich, chcemy wprowadzić strukturę, która przekaże je do funkcji pomocniczej.
Ponieważ jednak chcemy konsekwentnie stosować się do naszych praktyk, nie wprowadzimy tylko jednej funkcji pomocniczej, ale kilka. Tak więc, najpierw wprowadzamy struktury ad-hoc przenoszące parametry dla każdej funkcji, które wprowadzają wiele narzutu kodu do przenoszenia parametrów tam iz powrotem, lub wprowadzamy jeden, który będzie rządził wszystkimi strukturami arkusza, który zawiera wszystkie nasze zmienne, ale wygląda jak pakiet bitów bez konsekwencji, w którym tylko połowa parametrów ma interesujące znaczenie.
Dlatego te struktury pomocnicze są zwykle uciążliwe, a ich użycie oznacza wybranie między rozdęciem kodu lub wprowadzeniem abstrakcji, której zakres jest zbyt szeroki i osłabia znaczenie programu, zamiast go rozszerzać .
Wprowadzenie funkcji pomocniczych mogłoby ułatwić testowanie jednostkowe programu poprzez wprowadzenie drobniejszego testu szczegółowości, ale łączenie testów jednostkowych nie dla procedur niskopoziomowych i testów regresyjnych w formie porównań (z cyfrą liczbową) śladów numerycznych procedur wykonuje równie dobrą robotę .