DEV Community

Java Efetivo (livro)
Java Efetivo (livro)

Posted on

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.

Top comments (0)