2. Use nomes que revelem seu
propósito
- O nome de uma variável, classe ou função
deve responder a todas as grandes questões,
como porque existe, o que faz e como é usado.
- Se um nome requer um comentário, então
não revela seu propósito.
Ex: imprimeDanfe(); criaUsuario();
3. Evite informações erradas
- Deve-se evitar palavras cujos significados
podem se desviar do desejado. Ex: Não se
referencia a um grupo de contatos como
listaDeContatos a não ser que o grupo de fato,
seja uma lista. Se o que armazena o grupo não
for uma lista, o nome pode confundir os outros.
- Não usar nomes muito parecidos.
4. Faça distinções significativas
- Se os nomes precisam ser diferentes, então também
devem ter significados diferentes.
- Usar números sequenciais em nomes (a1, a2... aN) é o
oposto da seleção de nomes expressivos. Não geram
confusão, mas simplesmente não oferecem informação
alguma sobre a intenção de seu criador.
- Na ausência de convenções específicas, não há como
distinguir moneyAmount de money, customerInfo de
customer ou theMessage de message.
- Faça a distinção dos nomes de uma forma que o leitor
compreenda as diferenças.
5. Use nomes pronunciáveis
- Use nomes pronunciáveis para facilitar a
identificação e comunicação.
- Ex: Uma variável chamada genymdhms
(generation date, year, month, day, hour,
minute, second). Como você chamaria
verbalmente a variável? Poderia ser
renomeada para generationTimestamp.
6. Use nomes passíveis de busca
- Evite nomes de uma letra só.
- O tamanho do nome deve ser proporcional ao
tamanho do escopo.
7. Evite codificações
- Codificações de variáveis são altamente não
recomendadas
- Até mesmo o próprio programador, após certo
tempo, se esquece do significado do código
descrito
- Ex: gR() << Gera Relatório;
soDeusEntende() << Código do Fromhell
8. Evite o mapeamento mental
-Ocorre quando não se é levado em
consideração os termos domínio do problema e
nem os da solução
-Atribuir a variáveis nomes curtos, geralmente
1 ou 2 letras, exige que o mapeamento mental
seja enorme, pois terá que se lembrar do que
tal variável se trata
9. Não dê uma de espertinho
- Não use gírias, coloquialismos ou piadas em
nomes.
- Diga o que você quer expressar. Expresse o
que você quer dizer.
10. Selecione uma palavra por conceito
- Escolha uma palavra por cada conceito
abstrato e fique com ela. Por exemplo, é
confuso ter pegar, recuperar e obter como
métodos equivalentes de classes diferentes.
11. Não faça trocadilhos
- Evitar usar a mesma palavra para dois
propósitos.
- Por exemplo, se "add" é usado para nomes
de métodos em várias classes como criação de
um novo valor por meio da adição ou
concatenação de outros dois valores, não é
recomendado utilizar "add" para um método
que adicionará um parâmetro a uma coleção.
12. Use nomes a partir do domínio da
solução
- Evite usar nomes que referenciem o
problema, para evitar que toda hora, outros
programadores que forem ler o código, tenham
que checar com o cliente o conceito de tal
nome
-Recomendado usar termos do domínio da
Informática, de algoritmos, de padrões, pois os
programadores estão abituados a isso
13. Use nomes de domínios do
problema
-Deverá ser usada quando não puder se
aplicar o uso de domínio da solução para
nomes, que facilita para o programador
-Neste caso, embora seja ruim, pelo menos
quem for fazer a manutenção, poderá recorrer
aqueles que entendam do domínio do
problema para entender certos contextos
-Distinguir conceitos de domínio do problema e
de dominio da solução é esperado de um bom
programador
14. Adicione um conexto significativo
- Uma variável analisada sozinha, geralmente
não revela muito sobre o contexto dela
- Adicionar um contexto significativo, seria dar
pelo menos um pouco da noção do que ela
possa ser
Ex: primeironome,segundonome, bairro,
cidade, estado, país
15. Adicione um contexto significativo
Essa variáveis juntas te dão a noção de
endereço. Mas e se olhasse para a variável
"país" sozinha? você teria a mesma noção?
Não poderia remeter a nacionalidade de
alguém?
16. Não adicione contextos
desnecessários
-Nomes curtos geralmente são melhores desde
que sejam claros
-Não adicione mais contexto a um nome do
que necessário
-Aplicável principalmente a classes
-Nas instancias de classe aí sim ter um
contexto a mais seria interessante
17. Conclusão
-Para se escolher bons nomes, é necessário
possuir boas habilidades de descrição
-Não tenha medo de mudar nomes, desde que
seja para melhor
-Ajude as ferramentas atuais a nos ajudar, até
porque memorizar nomes de classes e
métodos
de uma solução grande, é para poucos