Apps e Software

Nomeação de variáveis: 11 boas práticas essenciais

ResumoA nomeação de variáveis é uma prática de programação que define a legibilidade e a manutenibilidade do código-fonte. Onze boas práticas essenciais incluem usar nomes descritivos e específicos, evitar abreviações ambíguas, manter consistência com o idioma do projeto e refletir a unidade de medida. Nomes claros reduzem a necessidade de comentários e previnem erros de interpretação durante revisões e atualizações de software.

Nomear variáveis parece simples, mas define a qualidade do seu código. Neste guia, você vai aprender 11 boas práticas para criar nomes claros, consistentes e que facilitam a manutenção do projeto.

por Walquíria Bensaúde Tomaz · Especialista em branding e identidade de marca · · 6 min de leitura
Busca por profundidade e dinamismo marca 40 anos do Revista

Nomear variáveis é uma das tarefas mais frequentes e, ao mesmo tempo, mais subestimadas na programação. Um nome mal escolhido pode transformar um código simples em um quebra-cabeça para quem lê depois (inclusive para você). Por outro lado, nomes claros e consistentes revelam a intenção do código, reduzem erros e tornam a manutenção muito mais rápida. Neste guia, reunimos 11 boas práticas de nomeação de variáveis, ordenadas da mais impactante para a mais específica. Aplicá-las não exige ferramentas novas, apenas disciplina e um olhar atento ao que o nome comunica.

1. Use nomes que revelam a intenção

O nome de uma variável deve responder à pergunta: "o que este valor representa?" Em vez de d, use distanciaPercorrida. Em vez de t, use tempoDecorrido. Nomes vagos obrigam quem lê a rastrear o uso da variável para entender o contexto, o que consome tempo e abre espaço para interpretações erradas. Um nome descritivo funciona como documentação embutida.

2. Siga uma convenção consistente

Escolha um padrão de nomenclatura e aplique-o em todo o projeto. Em JavaScript, o camelCase é comum para variáveis (totalPedido). Em Python, o snake_case é o padrão (total_pedido). Em Java, classes usam PascalCase (Cliente) e variáveis usam camelCase. A consistência permite que qualquer pessoa do time saiba o que esperar sem precisar adivinhar.

3. Evite abreviações ambíguas

msg pode ser mensagem, mas também pode ser confundido com outras coisas. qtd pode ser quantidade, mas e se o contexto for outro? Prefira escrever a palavra completa quando a abreviação não for amplamente reconhecida. Se a variável for usada em um loop curto e local, i ou j são aceitáveis. Em qualquer outro escopo, o nome completo reduz ambiguidade.

4. Não use nomes genéricos como data ou temp

data pode ser uma data, um objeto, uma lista ou um dicionário. temp pode ser temperatura ou um valor temporário. Nomes genéricos não comunicam nada e forçam a leitura do código para descobrir o tipo e a função. Em vez disso, use dataNascimento, temperaturaMedia ou valorTemporario quando o contexto não for óbvio.

5. Inclua unidades de medida no nome

Quando uma variável representa uma medida, especifique a unidade. tempo pode ser segundos, minutos ou horas. distancia pode ser metros ou quilômetros. Um erro de unidade já causou acidentes reais (o caso do Mars Climate Orbiter, em 1999, é um exemplo clássico). Nomes como tempoEmSegundos ou distanciaEmKm eliminam essa ambiguidade.

6. Use verbos para funções e substantivos para variáveis

Uma variável guarda um estado ou valor, então um substantivo faz sentido (usuarioLogado). Uma função executa uma ação, então um verbo é natural (obterUsuario). Essa distinção ajuda a diferenciar rapidamente o que é dado e o que é comportamento. Se uma variável guarda o resultado de uma função, o nome pode refletir isso: totalCalculado.

7. Evite prefixos desnecessários

Em linguagens com tipagem estática, prefixos como strNome ou intValor são redundantes. O tipo já está declarado. Em linguagens dinâmicas, o prefixo pode até ajudar, mas o nome descritivo já resolve a maior parte. Evite também prefixos como _ ou m_ a menos que a convenção do projeto exija. Eles adicionam ruído visual sem agregar informação.

8. Não use nomes de uma letra fora de loops

x, y, z podem ser coordenadas, mas fora de um contexto matemático claro, são enigmáticos. Em loops curtos, i, j, k são convencionais. Fora disso, um nome de uma letra não comunica nada. Se você sentir vontade de usar a, b, c, pergunte-se: "o que exatamente isso guarda?" A resposta provavelmente é um nome melhor.

9. Use nomes booleanos que façam sentido em condicionais

Variáveis booleanas devem ser nomeadas como perguntas ou afirmações claras. isAtivo, temPermissao, podeAcessar são bons exemplos. Evite flag ou status, que não indicam o que o valor verdadeiro ou falso significa. Um bom teste: leia a condição em voz alta. "Se podeAcessar" faz sentido. "Se flag" não faz.

10. Considere o escopo ao escolher o nome

Em um escopo pequeno, como um loop de 3 linhas, um nome curto é aceitável. Em uma função longa ou em um módulo, o nome precisa ser mais descritivo porque o contexto é maior. Uma variável global ou de módulo deve ter um nome que funcione em qualquer lugar do arquivo, sem depender do contexto imediato.

11. Mantenha o nome pronunciável e buscável

Nomes como yyyymmdd são difíceis de pronunciar e difíceis de buscar. dataFormatada é pronunciável e fácil de encontrar no código com uma busca simples. Isso importa porque, na prática, passamos mais tempo lendo código do que escrevendo. Nomes que podem ser ditos em voz alta facilitam a comunicação entre o time, seja em code review ou em uma conversa rápida.

Como escolher a melhor prática para o seu caso

Nenhuma regra é absoluta. Se o projeto já tem uma convenção estabelecida, siga-a antes de aplicar qualquer outra prática. Se você está começando, priorize as três primeiras: nomes que revelam intenção, consistência e evitar abreviações ambíguas. Elas resolvem a maioria dos problemas de legibilidade. Para times maiores, inclua unidades e booleanos claros desde o início. O objetivo não é seguir uma lista à risca, mas criar um código que qualquer pessoa do time leia sem esforço.

Perguntas frequentes sobre nomeação de variáveis

Por que a nomeação de variáveis é tão importante?

Nomes claros reduzem a carga cognitiva de quem lê o código. Em vez de decifrar o que x significa, o leitor entende imediatamente o propósito. Isso acelera a manutenção, diminui erros de interpretação e facilita a colaboração em equipe.

Qual a diferença entre camelCase e snake_case?

camelCase junta palavras com a primeira letra de cada palavra em maiúscula, exceto a primeira (totalPedido). snake_case separa palavras com underscore (total_pedido). A escolha depende da linguagem: JavaScript e Java usam camelCase para variáveis; Python usa snake_case.

Posso usar nomes em português no código?

Sim, se todo o time falar português e a convenção do projeto permitir. O importante é a consistência. Misturar português e inglês no mesmo código é pior do que escolher um idioma único. Em times internacionais, o inglês é o padrão por ser universal.

O que fazer quando não encontro um bom nome?

Se um nome não vem à mente, o problema pode estar no design. Talvez a função esteja fazendo mais de uma coisa ou a variável não tenha uma responsabilidade clara. Simplifique o código e o nome tende a aparecer. Se ainda assim não surgir, um nome descritivo longo é melhor que um nome curto e vago.

Nomes longos são sempre melhores?

Não. Nomes muito longos ficam difíceis de ler, especialmente em expressões. O equilíbrio é usar entre 2 e 4 palavras, desde que a intenção fique clara. dataDoPedido é melhor que data, mas dataDoPedidoDoClienteQueFoiAprovado já é excessivo.

Vale a pena renomear variáveis em código legado?

Sim, mas com cuidado. Renomear variáveis melhora a legibilidade, mas pode quebrar outras partes do código se não for feito com testes. Comece pelas variáveis mais confusas e use as ferramentas de refatoração da IDE, que atualizam todas as referências automaticamente.

Leia também