Escrever código é fácil. Escrever código bom é difícil. Mas o que é, afinal, um código bom? Geralmente, pensamos nos seguintes atributos:
- O código funciona (sem bugs).
- O código é documentado.
- O código é fácil de manter.
- O código é rápido.
Infelizmente, alcançar esses objetivos costuma ser trabalhoso e difícil. Para ajudar nesse processo, compilei uma lista de boas práticas de dicas e técnicas que facilitam a escrita de códigos mais próximos do ideal de serem livres de defeitos e fáceis de manter.
Que tal aprender estes códigos também:
MS Access | Aplicando Função Concatenação de Valores nos Campos das Consultas
MS Access | Utilizando SendKeys de Forma Eficiente
MS Access | Automatizando a Compactação do Bancos de Dados
MS Access | Como Gerenciar Links das Tabelas
MS Access | Quebra de Texto em Linhas com Comprimento Máximo
MS Access | Monitoramento de Conexões de Usuários
MS Access | Mapeando 3.500 Erros com a Criação de Tabelas de Erros
MS Access | Código para Registro de Logs
MS Access | 17 Passos Essenciais para Melhorar seu Código VBA
MS Access | Código VBA para Backup de Todas as Tabelas Comentado
A seguir, descreverei 17 Passos Essenciais para Melhorar seu Código VBA.
1. Use Option Explicit
Esta não é apenas uma dica, mas uma exigência para escrever código VBA. Se você não incluir a instrução Option Explicit no topo de cada módulo do seu projeto, você está pedindo por problemas na depuração da aplicação. Ao especificar Option Explicit, você obriga o VBA a forçar a declaração de todas as variáveis usadas, evitando erros causados por nomes de variáveis incorretos ou não declarados.
Exemplo de código com erro:
Sub ShowBugs ()
Dim intX As Integer
Dim intY As Integer
Dim intZ As Integer
intX = 1
imtY = 2 ' Erro de digitação! O correto seria intY.
intZ = 3
Debug.Print intX + intY + intZ
End Sub
Sem o Option Explicit, o VBA não gera erro de compilação, mas o valor de imtY será utilizado em vez de intY, causando resultados inesperados. Com Option Explicit, esse tipo de erro seria identificado na compilação.
2. Declare Variáveis Corretamente
Ao declarar suas variáveis com Dim, mantenha todas as declarações juntas no início de cada procedimento para fácil visualização e organização. Também é recomendável declarar cada variável em uma linha separada para evitar ambiguidades.
Exemplo de código incorreto:
Dim intX As Integer, intY, intZ As Integer
Neste caso, intY será um Variant, não um Integer. Para evitar isso:
Dim intX As Integer
Dim intY As Integer
Dim intZ As Integer
3. Evite Variants
O tipo de dado Variant é flexível, mas deve ser evitado sempre que possível devido ao overhead de memória. Prefira tipos de dados específicos, como Integer, String ou Double, que são mais eficientes.
4. Não Use Caracteres de Declaração de Tipo
Declarações de tipo usando caracteres especiais, como Dim CName$ para declarar CName como String, são práticas antiquadas e devem ser evitadas. Prefira a sintaxe moderna com As String.
5. Use Escopo de Variável Restrito
Sempre que possível, limite o escopo de suas variáveis ao menor escopo necessário. Se uma variável for usada apenas em um procedimento, declare-a como Private dentro desse procedimento. Variáveis Public devem ser usadas com cautela.
6. Converta Tipos de Dados Explicitamente
Embora o VBA faça conversões automáticas de tipos de dados, isso pode levar a bugs. Use funções de conversão explícitas, como CInt, CDbl e CStr, para evitar problemas com conversões automáticas.
Dim myNumber As Double
myNumber = CInt("123") ' Converte explicitamente para Integer.
7. Defina o Retorno de Funções Explicitamente
Toda função deve ter o seu tipo de retorno declarado explicitamente para evitar a conversão automática para Variant.
8. Implemente Tratamento Robusto de Erros
O tratamento de erros é crucial. Utilize On Error Goto para capturar erros e exibir mensagens apropriadas.
On Error GoTo ErrorHandler
' Código principal
Exit Sub
ErrorHandler:
MsgBox "Ocorreu um erro: " & Err.Description
9. Controle do Fluxo do Programa
Evite usar comandos antigos como Goto, que podem dificultar a leitura do código. O uso de Goto deve ser reservado apenas para tratamento de erros.
10. Use Constantes para Evitar Valores Codificados
Valores numéricos codificados diretamente no código dificultam a manutenção. Use constantes para substituí-los.
Const TAX_RATE As Double = 0.0825
Dim total As Double
Let total = subTotal * TAX_RATE
11. Use Convenções de Nomeação de Variáveis
Utilize convenções de nomenclatura para descrever claramente o tipo de dado de cada variável (e.g., strName para uma string, intAge para um inteiro). Isso melhora a legibilidade e manutenção do código.
12. Escolha Nomes de Variáveis Significativos
Evite nomes de variáveis como x, y ou z. Prefira nomes descritivos que indiquem claramente o propósito da variável, como intQuantidade ou strNomeCliente.
13. Adicione Comentários
Comentários claros ajudam outros desenvolvedores (ou você mesmo, no futuro) a entender o código. Comente os procedimentos, as linhas importantes e explique o raciocínio por trás de trechos complexos.
' Este procedimento calcula o valor total com imposto.
14. Use Indentação Padrão
Estruturas de controle como If..End If e For..Next devem ser devidamente indentadas para melhorar a legibilidade e evitar erros.
15. Evite Construtos de If em Linha Única
Evite a prática de colocar a condição If e a ação resultante na mesma linha.
If condicao Then
Acao
End If
16. Use Select Case Corretamente
Sempre utilize o bloco Select Case corretamente, separando as condições das ações e adicionando um Case Else para capturar valores não antecipados.
17. Não Use Stop para Depuração
Use pontos de interrupção em vez da instrução Stop para depurar o código. Pontos de interrupção não são salvos no código, evitando problemas quando o código for para produção.
Seguir essas boas práticas resultará em um código VBA mais robusto, fácil de manter e menos propenso a erros.
Clique aqui e nos contate via What's App para avaliarmos seus projetos
Nenhum comentário:
Postar um comentário