clean code, great developers

Como nomear classes, métodos e variáveis

Bruno Carneiro

Bruno Carneiro

Você já pensou na quantidade de artefatos que nós desenvolvedores criamos e damos nomes? Projetos, diretórios, pacotes, arquivos, classes, funções, variáveis. Eita, é coisa demais! Apesar de nomearmos estruturas o tempo todo, muitos de nós não sabem regras básicas para escolher um nome. Aqui vão algumas dicas de como nomear classes, métodos e variáveis.

O nome tem que revelar a sua intenção

O nome de uma variável, função ou classe deve significar a intenção que o desenvolvedor teve ao criar a essa estrutura. Ainda, deve lhe dizer por que existe, o que faz e como é usado. Dessa forma, se ao ler o nome de uma função você achar que precisa ser adicionado um comentário para explicar melhor o funcionamento dela, então o nome não revela sua intenção.

Veja um exemplo de um código real que eu copiei:

function calcula(x1,y1,x2,y2) {

  var a = x1 - x2;

  var b = y1 - y2;

  return Math.sqrt( a*a + b*b );
}

Ao ler dá para entender por alto o que esse código faz. Não conseguimos ir além porque não está explícito o contexto da função. Assim, dificilmente reutilizaríamos esse método. Agora, veja a diferença para um código no qual os nomes estão bem definidos:

function calculaDistanciaEntrePontos(

    coordXPonto1,coordYPonto1,coordXPonto2,coordYPonto2

) {

  var deltaEntrePontosX = coordXPonto1 - coordXPonto2;

  var deltaEntrePontosY = coordYPonto1 - coordYPonto2;

  return Math.sqrt(deltaEntrePontosX*deltaEntrePontosX + deltaEntrePontosY*deltaEntrePontosY);
}

Bem melhor né? Desse jeito ficou bem mais claro o que o método faz. É possível entender melhor o seu contexto, o que passar como parâmetro e como é feito o cálculo.

É verdade mesmo! Mas ficou muito grande os nomes né?

Sim! E esse é um dos motivos porque o significado ficou tão claro. Mas não precisa ser sempre um nome grande. Muitas vezes, conseguimos dar um nome significativo e pequeno. Mas lembre-se, o nome não precisa ser bonito. Tem que deixar clara a intenção.

Não se preocupe com o tamanho do termo. O compilador vai encurtar os nomes quando for preparar o seu código para a execução.

Evite abreviações e siglas

Siglas são legais porque poupam o trabalho de escrever toda a frase. Porém, o grande problema é que a partir do momento que você cria uma sigla você pressupõe que daí para frente o leitor vai saber o seu significado. Mas, nem sempre ela é lembrada ou é conhecida a definição. Isso só deixará o seu código mais difícil de entender.

Ah…mas tem siglas que todo mundo sabe o que significa!

Com certeza! Não estou te pedindo para escrever em um nome de variável ‘cadastroPessoaFisica’ ao invés de ‘cpf’.  Use o bom senso!

O nome tem que ser pesquisável

Um dos recursos que usamos com muita frequência é a pesquisa do editor! Usamos isso o tempo todo para verificar o uso de, por exemplo, uma função. Então, é importante pensarmos nisso quando formos escolher o nome de os blocos de código.

Nomes com uma letra ou um número não são encontrados facilmente no código. Além de também, não revelarem a sua intenção.

Não coloque constantes diretamente no código. Crie uma variável com um nome significativo para armazenar seu valor.

Ao invés disso:
function calcularSalario(valorHora){

  return valorHora*8*22;

}

Use isto:
const HORAS_POR_DIA = 8;

const DIAS_UTEIS_MES = 22;

function calcularSalario(valorHora){

  return valorHora*HORAS_POR_DIA*DIAS_UTEIS_MES;
}

Nomes de classes

Nomes de classes têm que ser substantivos. Alguns exemplos são: Idioma, Configuracao, Contato, Tela, Teclado…Outros exemplos: ModificadorTeclado, DiscadorChamadas, GerenciadorRede.

É muito comum programadores utilizarem nomes genéricos como Gerenciador, ou em inglês, Manager, Repository, Service. Dessa maneira, não fica claro o que é gerenciado ou com o que ela trabalha. Tente ser o mais específico possível.

Nomes de métodos

Use verbos nos nomes de métodos e em seguida um substantivo. Por exemplo: trocarIdioma, configurarRedeWifi, trocarNome, aumentarBrilho…

Lembre-se que os nomes têm que sempre seguir o padrão de nomeclatura da linguagem da qual está codificando. Ou seja, em Java por exemplo, a nomeclatura tem que ser camelCase e ainda seguir muitos outros padrões.

Se você seguir essas dicas, seu código será muito mais legível! Com isso, você facilitará a vida dos seus colegas que quando forem dar manutenção ficarão impressionados com sua técnica e com a qualidade do seu código.

Tem mais alguma dica para dar ou quer comentar alguma dessas práticas? Compartilhe aqui nos comentários.

Deixe um comentario