I blocchi arbitrari sono utili per introdurre variabili intermedie
sono usati solo in casi speciali di calcolo.
Questo è un modello comune nel calcolo scientifico, dove numerico
procedure in genere:
- si basano su molti parametri o quantità intermedie;
- devono occuparsi di molti casi speciali.
A causa del secondo punto, è utile introdurre temporaneamente
variabili di portata limitata, che si ottiene usando un
blocco arbitrario o introducendo una funzione ausiliaria.
Anche se l'introduzione di una funzione ausiliaria può sembrare un no brainer
o una best practice per seguire ciecamente in realtà c'è poco
benefici per farlo in questa particolare situazione.
Perché ci sono molti parametri e quantità intermedie, noi
voglio introdurre una struttura per passare queste alle auxilarie
la funzione.
Tuttavia, dal momento che vogliamo essere coerenti con le nostre pratiche, non lo faremo
introdurre solo una funzione ausiliaria, ma diverse. Quindi, noi
introdurre strutture ad-hoc che trasmettano parametri per ogni funzione,
che introducono un sacco di code-overhead per spostare i parametri indietro e
avanti, o introduciamo un uno domina tutti loro struttura del foglio di lavoro,
che contiene tutte le nostre variabili ma sembra un grabpack di bit
senza coerenza, dove in qualsiasi momento solo la metà dei parametri
avere un significato interessante.
Quindi queste strutture ausiliarie sono in genere ingombranti e
usarli significa scegliere tra code-bloat o introdurre un
astrazione la cui portata è troppo ampia e indebolire il significato del
programma, invece di potenziarlo .
L'introduzione di funzioni ausiliarie potrebbe facilitare il collaudo dell'unità di
programma introducendo una granularità di prova più fine ma combinando unità
test per le non procedure di basso livello e test di regressione in
la forma di confronti (con numdiff) di tracce numeriche del
le procedure fa un lavoro altrettanto valido.