Olá pessoal, ________________________________
Dicas para otimização de código: 1. Mantenha seu código limpo. Isto fará com que a leitura e o entendimento do código fique mais fácil. Use nomes significativos para variáveis e constantes. Por exemplo, sMensagem, sNome para variáveis string, iContador para uma variavel inteira. Constantes podem ser escritas em maiúsculas, por exemplo: sALERTA para uma constante string. Para componentes: nunca use os nomes padrão: Button1, Edit1, Combo1. Pois quanto mais componentes você tiver, mais tempo irá levar para encontrar aquele que você precisa. 2. Deixe a diretiva de compilação {$O+} (ou {$OPTIMIZATION ON}) ativa. Com esta diretiva, o compilador do Delphi irá produzir um código mais eficiente. Algumas vezes, o processo de debug pode se tornar mais dificil com a otimização ativa: você não poderá setar um breakpoint se otimizador determinar que aquela porção de código não é útil. Importante: as otimizações feitas pelo compilador do Delphi não irão alterar o funcionamento do seu programa (apenas o desempenho). 3. Você pode querer compilar seus programas usando run-time packages. Isto irá diminuir drasticamente o tamanho de suas aplicações. Mais ainda quando você tem diversos programas que usam as mesmas bibliotecas. Infelizmente quando você for distribuir suas aplicações terá de distribuir algumas dll's e bpl's também. 4. Não crie todos os forms na inicialização (eles são criados por default) pois isto faz que o carregamento do programa fique lento e requeira muita memória. Ao invés disso prefira criar dinamicamente seus forms. 5. Use funções da API do Windows ao invés de escrever suas próprias funções para a mesma tarefa. Elas são em geral mais rápidas e você também economizará no tamanho de sua aplicação. 6. Quando incluir imagens nos seus programas tente otimizá-las primeiro. Quando incluir arquivos BMP tenha certeza que o arquivo tem o exato tamanho que você precisa, caso seja maior corte a imagem antes de inseri-la e tenha certeza de que você não tem uma imagem de '16 cores' salva com modo de cor '64K'. Quando incluir imagens GIF você poderá otimizar as cores com ferramentas especiais. Quando incluir imagens JPEG procure usar compressão. Converta o JPEG que contiver 256 cores ou menos para o formato GIF - ele ficará bem menor. 7. Quando for utilizar usar apenas uma ou duas funções (ou procedures) de uma unit e você tem o código fonte da unit, não inclua a unit toda na seção uses. Insira apenas as funções que você utilizará no seu código. Isto irá impedir que o Delphi incorpore ao seu executável todas as rotinas do daquela unit. 8. Ao invés de utilizar componentes não-visuais prefira incluí-los via código no seu programa. Por exemplo: não há necessidade de colocar na janela um componente que busca o diretório do Windows quando isto pode ser feito com umas poucas linhas de código (e você ainda poderá descarregar o componente da memória logo após usá-lo). 9. Se você tiver uma função crítica (em termos de consumo de tempo, geralmente loops importantes) seja cuidadoso. Aquilo que parece rápido no seu computador pode não ser em outros PC's. Neste caso procure diminuir seu código tanto quanto possível para torná-lo mais rápido. 10. Quase todos programas fazem algum tipo de cálculo para alguma coisa. Simplificar as fórmulas para usar funções rápidas (do próprio Delphi) é uma típica oportunidade de otimização. Sempre tente utilizar algoritmos mais eficientes em decréscimo dos menos eficientes. Exemplo: uma busca do tipo 'bubble sort' é mais interessante que uma busca linear. Feliz Otimização! Com isso em mente você poderá reduzir significativamente o tempo de execução de sua aplicação e ainda melhorar a qualidade de seu software! Aqui estão apenas algumas dicas, ainda há diversas práticas que podem ajudar muito na criação de um código mais limpo e eficiente! Se você conhece alguma especial, poste aqui! Boa sorte a todos! ________________________________ Autor da dica: Martins Vicente Um abraço a todos! Silvio Clécio Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]