DEV Community

Java Efetivo (livro)
Java Efetivo (livro)

Posted on

1 1

Item 68: Adote as convenções de nomenclatura geralmente aceitas

A linguagem Java possui um conjunto de convenções de nomenclatura bem estabelecido que ajuda a manter a legibilidade e a organização do código. Estas convenções estão documentadas em detalhes na Java Language Specification (JLS) e podem ser classificadas em tipográficas e gramaticais.

Convenções Tipográficas
As convenções tipográficas de nomenclatura abrangem pacotes, classes, interfaces, métodos, campos e variáveis de tipo. Segui-las ajuda a manter o código consistente e evita confusões, facilitando o uso e a manutenção. Entre as práticas recomendadas:

  • Pacotes e módulos: Devem ser hierárquicos, separados por pontos e compostos por letras minúsculas. Pacotes usados fora da organização devem começar com o domínio invertido, como com.google ou org.apache.

  • Classes e interfaces: Devem ter nomes em PascalCase, como ArrayList ou FutureTask, preferindo-se nomes completos e evitando abreviações, a menos que amplamente aceitas (HttpUrl em vez de HTTPURL).

  • Métodos e campos: Nomeados em camelCase com a primeira letra minúscula, como remove ou getCapacity. Campos constantes (final static) devem ser escritos em letras maiúsculas com palavras separadas por sublinhados, por exemplo, MAX_VALUE.

Variáveis locais: Podem usar abreviações e caracteres individuais, como i, sum, ou index, especialmente para laços e variáveis temporárias.

Parâmetros de tipo: Geralmente são letras únicas, como T para um tipo genérico, E para o tipo de elemento de uma coleção e K e V para chaves e valores de um mapa.

Convenções Gramaticais
As convenções gramaticais variam conforme o tipo do identificador, com foco em dar clareza à função do elemento:

  • Classes: Usam substantivos ou frases nominais (Thread, ArrayList), enquanto classes utilitárias geralmente são pluralizadas (Collections, Collectors).

  • Interfaces: Nomes de interfaces podem usar substantivos ou adjetivos terminados em “able” ou “ible”, como Runnable ou Comparable.

  • Métodos: Funções de ação têm nomes em verbos (append, drawImage). Métodos booleanos frequentemente começam com is ou has (isEnabled, hasNext).

  • Getters e setters: Métodos que retornam valores possuem nome com substantivo ou começam com get, enquanto métodos que modificam valores começam com set. Exemplo: getAge e setAge.

  • Métodos de conversão: Para conversões de tipo, usam-se convenções como toString e asList. Factories estáticas geralmente são nomeadas com from, of, ou getInstance.

Importância das Convenções
Respeitar essas convenções melhora a legibilidade e consistência do código, facilitando o trabalho em equipe e a manutenção. Embora as convenções tipográficas sejam mais rígidas, as gramaticais permitem maior flexibilidade, permitindo ao programador adaptar-se às necessidades do contexto e ao uso convencional.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay