Comentários ao longo da mensagem (como de costume) Walter Alves Chagas Junior wrote:
> Não, a formatação, identação ou colocação das linhas de código não influem no > tamanho final da area de Bytecode do exe. O que pode influir seria coisas > como a forma como você elabora a lógica. Vejemos um exemplo: > > var > isTrue: Boolean; > begin > if X = 0 then > isTrue := True > else > isTrue := False; > end; > > Isto pode vir a gerar um certo numero de bytes a mais na área de bytecode do > Exe. Agora o código acima pode ser otimizado da seguinte forma: > > var > isTrue: Boolean; > begin > isTrue := (X = 0); > end; > > Neste caso, com certeza o numero de bytes na área do bytecode será menor, > ocasionando um menor tamanho no Exe final e uma melhora em sua performance. Muito embora o compilador faça um excelente trabalho. Este código aqui: if False then begin ... ... ... end; sequer fará parte do executável, o compilador vai remover todo o bloco. > Blocos Begin end são tratativas de conjunto de comandos que ocuparão uma > seção mediante uma situação. Não justifica delimitar uma área de comandos > quando seu conteúdo seria somente um comando. Eu penso que o compilador > otimizaria isto. > > var > isTrue: Boolean; > begin > if X = 0 then > begin > isTrue := True; > end > else > begin > isTrue := False; > end > end; > > ERRADO! Não está errado, por sinal conheço alguns ótimos desenvolvedores, dentre os quais os desenvolvedores da Indy, que *sempre* usam begin/end aonde o uso é opcional. É apenas questão de gosto, e o código final terá o mesmo tamanho. > formatacao 2) Em linhas individuais: > > qrConsulta.SQL.Add(' > +' SELECT' > +' Endereco,' > +' Nome,' > +' Cidade' > +' FROM' > +' Cliente' > +' WHERE' > +' Nome > :Inicio' > +' ORDER BY Nome') > > > Duvida: Neste caso 1, alguma das duas formataçoes influencia no > tamanho final do executavo, principalmente pela qtde de linhas > diferentes entre uma e outra? Ou o compliador do Delphi trata tudo > como um comando só? Isto sim, como trata-se de uma constante string ela ocupará exatamente este espaço, com os respectivos brancos. De qualquer forma é inútil ficar contanto os bytes do executável. Muito mais importante do que isto é a construção de códigos otimizados, que façam a tarefa da forma mais prática e rápida possível. -- Joao Morais