A Arte de Nomear “Coisas”

Imagem para o post - A arte de nomear coisas

Uma breve introdução às boas práticas de programação

Introdução

Olá, povo!

Atualmente podemos observar que são raras as empresas que buscam profissionais especializados em alguma tecnologia. A maioria busca “Full Stack Developers”, que saiba tudo o que a vaga requisita, podendo, no entanto, ser bom em nada.
Exemplifico o parágrafo anterior com a descrição dos requisitos de uma vaga real:

Diferentemente de determinadas áreas, como por exemplo a Medicina, na área de TI (salvo raras exceções), não existem Especialidades. Se entramos numa empresa para atuar com Java, muito provavelmente vamos mexer em algum código feito em JS.
Contudo, existem pilares compartilhados entre diferentes linguagens. E neste meu primeiro artigo vou comentar sobre um deles: A Arte de Nomear “Coisas”.

Muito provavelmente você já se deparou com uma variável nomeada “d”, e não compreendeu sua natureza semântica.
Muito antes de escrever códigos e algoritmos complexos, nós aprendemos a falar e a escrever, e por que não usar isto para nos beneficiar? Faz sentido passarmos mais de uma década no ensino obrigatório, aprendendo sintaxe e semântica, para no fim nos expressarmos utilizando uma letra?

Algumas Dicas

Evite passar informações erradas ao leitor do teu código.
Como assim?

private Set<Student> studentList;

Não utilize “List” como sufixo de uma variável, se o seu tipo não for um List. Utilize studentGroup, por exemplo.

Há uma boa prática que diz para criar métodos de fábrica estáticos quando existe a sobrecarga de construtores, conforme o seguinte exemplo:

public class Student{
	
	public Student(int age, String name) {
		
	}
	
	private Student(int age, String name, String course) {
		
	}
	
	public static Student studentWithCourseName(int age, String name, String course) {
		return new Student(age, name, course);
	}
	
}

Não utilize a mesma palavra para conceitos diferentes, como o exemplo abaixo:

public class Client{
	
	private String name;
	
	public void add(String lastName) {
		this.name += " " + lastName;
	}
	
}

public class Store{
	
	private List<String> itemsList;
	
	public void add(String item) {
		this.itemsList.add(item);
	}
	
}

No exemplo acima, há dois métodos com nomes idênticos, porém com implementações distintas. Escolha “add” ou para concatenação, ou para inserção numa lista, não para as duas coisas.

Dicas Rápidas

Não faça piadas, como nomear um método de “começarJoker()”. Seja profissional.

Note que o nome de Classes deve ser substantivo, e o nome de métodos deve conter verbo: getName(), setAge(), postEmail().

Utilize nomes que os seres humanos conseguem pronunciar! Não nomeie um método de getXYZ(). Nós, seres humanos, gostamos de palavras.

Quando for escrever um método que recebe dois parâmetros, não os nomeie p1 e p2, por favor! Deixe claro o que as variáveis representam.
Lembre-se que para um cachorro, um lixo e uma ração são alimentos, mas para nós não. Deixe claro as diferenças!

Conclusão

Em suma, somos autores e, portanto, cabe a nós a clareza do nosso código.
#SejamosClaros

No próximo artigo vou abordar um outro tema bastante importante: Como escrever boas funções?

Compartilhe!