Blocos arbitrários são úteis para introduzir variáveis intermediárias que são usadas apenas em casos especiais de um cálculo.
Este é um padrão comum na computação científica, onde os procedimentos numéricos geralmente:
- confie em muitos parâmetros ou quantidades intermediárias;
- tem que lidar com muitos casos especiais.
Por causa do segundo ponto, é útil introduzir variáveis temporárias de escopo limitado, o que é obtido com o uso de um bloco arbitrário ou com a introdução de uma função auxiliar.
Embora a introdução de uma função auxiliar possa parecer um acéfalo
ou uma prática recomendada a seguir cegamente, na verdade existem poucos benefícios em fazê-lo nessa situação específica.
Como existem muitos parâmetros e quantidades intermediárias, queremos introduzir uma estrutura para transmiti-los à função auxiliar.
Mas, como queremos ser conseqüentes com nossas práticas, não apresentaremos apenas uma função auxiliar, mas várias. Portanto, se introduzimos estruturas ad-hoc que transmitem parâmetros para cada função, que introduzem muitas sobrecargas de código para mover parâmetros para frente e para trás, ou introduzimos uma que governará toda a estrutura da planilha, que contém todas as nossas variáveis, mas parece um pacote de bits sem consistência, onde a qualquer momento apenas a metade dos parâmetros tem um significado interessante.
Portanto, essas estruturas auxiliares são tipicamente pesadas e usá-las significa escolher entre inchar o código ou introduzir uma abstração cujo escopo é muito amplo e enfraquece o significado do programa, em vez de fortalecê-lo .
A introdução de funções auxiliares pode facilitar o teste de unidade do programa, introduzindo uma granularidade de teste mais fina, mas combinando o teste de unidade para procedimentos não de baixo nível e testes de regressão na forma de comparações (com número) de traços numéricos dos procedimentos, um trabalho igualmente bom .