O código auto-documentado é mais fácil de ler e manter
Siga o Princípio da menor expiação e o preceito do código como documentação : use uma variável para um objetivo, para facilitar o entendimento e o código de leitura, sem explicações.
O código corretamente estruturado é mais fácil (portanto mais barato) para (re) usar
Além disso, aqui parece que query
sempre é usado para preparar uma instrução antes de executá-la. Provavelmente, isso é um sinal de que você deseja refatorar parte desse código em um (ou mais) métodos auxiliares para preparar e executar a consulta (em conformidade com o princípio DRY ).
Dessa forma, você efetivamente:
- use apenas uma variável no seu método auxiliar para identificar a consulta do contexto atual,
- você precisa digitar menos código sempre que quiser executar novamente uma consulta,
- torne seu código mais legível para outras pessoas.
Exemplos:
Considere isso, tirado do seu exemplo, onde a versão refatorada é obviamente melhor. É claro que seu snippet foi apenas um exemplo para o objetivo desta pergunta, mas o conceito ainda é verdadeiro e é escalável.
Seu exemplo 1:
Strings querycre,queryins,queryup,querydel;
querycre = 'Create table XYZ ...';
execute querycre ;
queryins = 'Insert into XYZ ...';
execute queryins ;
queryup = 'Update XYZ set ...';
execute queryup;
querydel = 'Delete from XYZ ...';
execute querydel ;
Seu exemplo 2:
Strings query;
query= 'Create table XYZ ...';
execute query ;
query= 'Insert into XYZ ...';
execute query ;
query= 'Update XYZ set ...';
execute query ;
query= 'Delete from XYZ ...';
execute query ;
Exemplo 3 (pseudocódigo refatorado):
def executeQuery(query, parameters...)
statement = prepareStatement(query, parameters);
execute statement;
end
// call point:
executeQuery('Create table XYZ ... ');
executeQuery('Insert into XYZ ...');
executeQuery('Update XYZ set ...');
executeQuery('Delete from XYZ ...');
O benefício é mostrado com a reutilização regular.
Anedota pessoal
Inicialmente, comecei como programador C trabalhando com propriedades limitadas de tela, portanto, reutilizar variáveis fazia sentido tanto para o código compilado (na época) quanto para permitir que mais código fosse legível ao mesmo tempo.
No entanto, depois de passar para linguagens de nível superior e aprimorar a programação funcional, adquiri o hábito de usar variáveis imutáveis e referências imutáveis sempre que possível para limitar os efeitos colaterais.
O quê tem pra mim?
Se você adota o hábito de imutar todas as entradas de sua função e retornar um novo resultado (como seria uma verdadeira função matemática), adquire o hábito de não duplicar as lojas.
Por extensão, isso leva a:
- você está escrevendo funções curtas,
- com objetivos bem definidos,
- que são mais fáceis de entender,
- reutilizar,
- estender (seja por herança de OO ou por encadeamento funcional),
- e documento (como já se auto-documenta).
Não estou dizendo que não há benefício para o estado mutável aqui, apenas estou apontando como o hábito pode crescer em você e como isso afeta a legibilidade do código.