Bom, acredito que muitos percebem que não, mas alguns custam a perceber. Esse caso pode ocorrer quando se está programando. Vamos ao simples exemplo, tenho uma classe que trabalha com as tabelas de um banco de dados, simplesmente mando abrir uma tabela e minha classe se vira para saber se deverá ou não criar uma instância da tabela. Existem checagens básicas, como por exemplo, verificar em um array se a tabela está ou não aberta.
Se utilizarei essa tabela todo o tempo em que a tela estiver aberta, porque abrir a tabela quando clico em um botão? Primeiro temos que analisar a quantidade de tabelas que essa tabela está utilizando e em segundo lugar, tentar imaginar o quanto o usuário utilizará esse botão. Analisando a primeira questão, se você não possui muitas tabelas abertas, o ideal seria instânciá-la no carregamento do formulário, já que irei utilizá-la muitas vezes. Se não há evidências que levarão o usuário a clicar várias vezes nesse botão, podemos abrir e fechar essa tabela no próprio botão. Mas nunca esqueça que cada vez que esse botão for clicado e o sistema for abrir a tabela, ele verificará se a tabela está aberta ou não, se já temos a tabela aberta no carregamento do formulário, pouparemos um pequeno tempo nessa brincadeira.
Pouparemos um tempo quase imperceptível para você desenvolvedor e para o usuário, mas temos sempre que praticar essas formas melhores de programação a fim de evitar que causemos lentidão em outros momentos que exijam esse tipo de pensamento e nada melhor que a prática para nos tornar mestres em performance de software.
O que me levou a escrever isso foi algo que encontrei diversas vezes em um único projeto de customização, a abertura de tabelas em excesso e o esquecimento básico de fechá-las. Eu sempre ensinei as pessoas a pensarem em blocos, ou seja, como a maioria dos programadores sabem, o código fonte é composto de diversos blocos lógicos. Podemos ter um loop, um if, mas tudo é tratado como blocos. Quando alguém que está no início caí em minhas mãos, a primeira coisa que ensino é a pensar em blocos, se estou ensinando-o a escrever um bloco de if, sempre digo para abrir o comando e já fechar para depois desenvolver sua lógica dentro desse if.
'Sempre abra e feche o comando para não se perder em seu código.
If iCount >= 5 Then
End If
Dessa maneira você não esquecerá e não terá que procurar qual o if que ficou sem fechamento, a mesma coisa para um loop.
'Abrindo e fechando um loop
Do While iCount <= 5
Loop
Sempre que você criar um bloco lógico, faça isso, com certeza você perderá menos tempo quando você resolver criar aquele bloco gigantesco, apesar de não fazer parte dos bons princípios de programação, ainda existem pessoas que trabalham assim. E para finalizar, nunca esqueça, sempre que abrir uma tabela dentro de uma função, já abra e feche-o para não esquecê-la aberta para outro programador ter que encontrar isso em um código.
Nenhum comentário:
Postar um comentário