Padrões de Nomenclaturas no Java

Boas práticas que tornam programas mais fácil de serem compreendidos

Renan Marques
3 min readJan 10, 2023
Entardecer no Egito, onde mostra um grupo de viajantes em seus camelos e ao fundo pode ser avistado pirâmides e o sol. — Foto de Simon Berger on Unsplash
Entardecer no Egito, onde mostra um grupo de viajantes em seus camelos e ao fundo pode ser avistado pirâmides e o sol. — Foto de Simon Berger on Unsplash

A linguagem do Java possui convenções e boas práticas que tornam os programas mais compreensíveis e fácil de serem lidos. Abaixo serão abordados alguns padrões:

📦Package (Pacote)

Para nomear pacotes se utiliza primeiro de um prefixo que deve ser um dos nomes de domínio de nível superior, por exemplo, com, edu, gov, net, org ou um código de duas letras da especificação, ISO 3166 de 1981 que regulamenta códigos para cada país, no caso do Brasil é o br.

Os demais componentes que integram o nome do pacote variam de acordo com empresas e convenções internas, podendo ser divisão, departamento, projeto, etc. Vale ressaltar que todo o nome do pacote é escrito em letras minúsculas.

Vejamos alguns exemplos:

package com.system.oracle.hotel

package br.remarques.tech

package us.amazon.product.alexa.v4

Class (Classe), Interface e Enum (Enumerador)

Nomes de classes devem ser substantivos e iniciados com a primeira letra maiúscula de cada palavra interna. Tente manter seus nomes de classes simples e descritivos. Use palavras inteiras, evite acrônimos e abreviações (a menos que a abreviação seja comum e de fácil entendimento, como URL ou HTML). Exemplos:

class Animal {}
class CapturaImagem {}
class GeradorQRCode {}

Interfaces devem estar em letras maiúsculas como os nomes das classes:

interface TipoImagem {}
interface Animal {}

Os enums seguem o mesmo caminho:

enum Estado {}
enum RegiaoDoPais {}

Os três casos acima tem em comum o uso do padrão PascalCase também conhecido como “upper camel case” ou “capital case”, que combinam palavras colocando todas com a primeira letra maiúscula.

🐫Métodos, Variáveis e Atributos é aplicado o padrão camelCase

Nomes de métodos devem ser verbos, iniciados com letras minúsculas e a primeira letra de cada palavra interna maiúscula. Exemplos:

correr();
correrMaisRapido();
getImagemPlanoDeFundo();

Atributos devem ter nomes de características que façam sentido para a classe:

class Veiculo{
String marca;
String codigoChassi;
}

Nomes de variáveis não devem começar com carácter sublinhado _ ou cifrão $, mesmo que ambos sejam permitidos. Pode ter números, mas não no começo do nome, caracteres especiais como &@!% ou acentos não são permitidos. Devem ser curtos, mas significativos (destinado a indicar a intenção de seu uso).
Devem ser evitados nomes ​​de um caractere, exceto para variáveis ​​temporárias (“descartáveis”). É comum em ​​temporárias usar i, j, k, m e n para números inteiros e c, d, e para caracteres.

float alturaAtual;

for(int i = 0; i < 10 ; i++){} // variável i é temporária

char[] alfabetoBR = {'A', 'B', 'C', 'D'};
for (char c : alfabetoBR) {} // variável c temporária

🐍Constantes é aplicado o padrão de Screaming Snake Case

Em snake case, conhecido também como “underscore case”, utilizamos underline no lugar do espaço para separar as palavras. Quando o snake case está em caixa alta, ele é chamado de “screaming snake case”.

Para declarar variáveis como constantes (seu valor não pode ser alterado) no Java utiliza-se o especificador final, onde o nome da variável deve ser todo em letra maiúscula e palavras separadas por sublinhados _ :

final int IDADE_MINIMA = 4;
final int IDADE_MAXIMA = 999;
final float PI = 3.14159f;

Conclusão

As boas práticas mencionadas nesse artigo quando seguidas de forma apropriada auxilia na compreensão e manutenção de códigos por qualquer desenvolvedor, vale ressaltar que assim como o Java tem suas convenções para nomenclaturas, as demais linguagens de programação também possui as suas, algumas até idênticas a já citadas aqui.

Gostou do conteúdo? Compartilhe, não esqueça de clicar na 👏🏻(claps) isso ajuda ao conteúdo ter uma melhor visibilidade no Medium. Meu muito obrigado e até a próxima.

Referências

--

--

Renan Marques
Renan Marques

Written by Renan Marques

Full Stack Developer | Graduated Computer Science | Passionate about technnology | “The apprentice is a master in training.”

No responses yet