Como nomear Variáveis?
Tags: brazil
Published: 2017-12-29 13:29:26

---
title: Como nomear Variáveis?
published: true
description: Programação não é como na matemática onde só precisamos achar o x, y, a e b! Atente-se nisso
tags: brazil
cover_image: https://thepracticaldev.s3.amazonaws.com/i/qalr8ldkpzfvzfox6uu7.jpg
---




> "O último esforço da razão é reconhecer que existe uma infinidade de coisas que a ultrapassam." Blaise Pascal

## Motivos para utilizar nomes completos

O começo da vida de um desenvolvedor é sempre muito perturbado. Digo por mim mesmo, comecei numa "brincadeira", anos depois entrei num curso técnico e somente 2 anos após a conclusão do mesmo que eu percebi que este era o meu lugar, que eu percebi que minha vida era programar. E conforme todos esses anos passaram, existem coisas que vamos aprendendo e aprimorando em nosso estilo de executar certas funções da nossa vida. 

Um desenhista começa, quando criança, pintando livros de colorir, e se aperfeiçoa passando a desenhos da família até serem perfeitos (ou o mais próximo disso) no que fazem. Assim também para qualquer profissão, das mais básicas até as mais complexas, sempre há o aperfeiçoamento. 

Quando entrei no curso técnico, tudo era básico e, os programas feitos em C, eram somente para calcular _"a área do trapézio pegando o valor das bases (maior e menor)"_ ou questões relacionadas a matemática. Mas programação não é somente matemática e muitas vezes, tendo essa base de início, ficamos presos aos ensinamentos de matemática do ensino que tivemos. Afinal, não chamamos _"x"_ de **"variávelASerEncontradaAtravésDosConhecimentosMatemáticosObtidos"**. 

**Na Programação, nem sempre podemos chamar uma variável só com uma letra. Existem casos em que o padrão é uma única letra (como no caso do _for_), mas é necessário aprender a escrever variáveis com nomes totalmente descritivos!**

## Quais os padrões que eu adotei?

Existem algumas convenções gerais e algumas outras específicas para cada linguagem. Seja você um programador Java, PHP, Python ou até mesmo um designer que utilize de pré-processadores CSS, **as variáveis descritivas auxiliam, e muito, na hora da produção e do trabalho em equipe**. Até mesmo em trabalhos de faculdade ou cursos, imagine um código de centenas de linhas e seu professor corrigindo as linhas finais e simplesmente esquece para que serve a variável "c" do seu código. Complicado para ele e imagine para você na hora de escrever!

Muitas pessoas pensam em nomes curtos, ou de único caractere, pela praticidade na hora de escrever os códigos. Porém, vale lembrar que hoje em dia, muitas IDEs e Editores de Códigos que auto-completam nomes de funções e, principalmente, nomes de variáveis. Então, para os dias atuais, não é mais um incômodo escrever variáveis de quatro a cinco palavras.

Sem mais delongas, vamos às convenções que eu adotei para meus códigos.

#### Variáveis comuns
- Utilizo nomes totalmente descritivos, pegando de duas a cinco ou seis palavras para o nome de uma variável. 
- sempre começo com letra minúscula, alternando para a primeira letra da próxima palavra maiúscula.
- exemplo: nomeUsuario, estaLogado (isLogged), diaDaSemana, dadosQueryTabela... 

#### Variáveis Globais
- Faço o mesmo que as comuns, apenas adicionando a palavra "global" no final
- exemplo: nomeUsuarioGlobal

#### Variáveis de loop (For, While)
- Utilizo apenas um único caractere (normalmente "i", "j", "l"). 
- Quando há a necessidade de ter uma variável única para aquele loop, palavras pequenas ou abreviadas sobre o que ela faz (normalmente "cont", "adic").

#### Variáveis dos Métodos
- Vejo o que exatamente o método fará e trago uma única palavra que exprima o conteúdo a ser retornado/calculado. 
- Exemplo: Se o método faz o calculo da variável externa mais algum valor interno, utilizo "valor" ou "x" mesmo, por se tratar apenas daquele método e não de todo o programa. 

#### Constantes
- Para constantes, utilizo sempre letras maiúsculas e a separação de frases com um _underscore_ (_).
- Exemplo: EMAIL_CONTATO

* * * 

Novamente, ressalto que estes são padrões que eu adotei e não são estritamente necessários, mas deixam o código mais limpo para quem ler. Afinal, interpretar **$nomeUsuarioLogado** é mais fácil do que **$x**. 

Fonte de inspiração: [Cleaning up your Code](https://dev.to/aarohmankad/cleaning-up-your-code-good-names-2e0o)