DEV Community

Java Efetivo (livro)
Java Efetivo (livro)

Posted on

Limite os arquivos fonte

Esta é uma série baseada no entendimento de tópicos relacionados ao livro Java Efetivo Capitulo 4 Item 25: Limite os arquivos fonte a uma única classe de nível superior

Embora o compilador Java permita várias classes de nível superior em um único arquivo fonte, isso traz riscos significativos e nenhuma vantagem associada.

A definição de múltiplas classes de nível superior em um arquivo fonte pode resultar em várias definições para uma classe, dependendo da ordem em que os arquivos são passados para o compilador.

Riscos Associados:

Se ocorrerem múltiplas definições para uma classe, o comportamento do programa pode ser afetado pela ordem dos arquivos fonte passados para o compilador.
Exemplo de Risco:

Um exemplo é apresentado onde um programa tem uma classe Main referenciando membros de duas outras classes, Utensil e Dessert.
Se essas duas classes forem definidas em um único arquivo fonte e acidentalmente em outro arquivo fonte separado, isso pode levar a problemas de compilação e comportamento inconsistente do programa.

Solução:

A solução para esse problema é simples: dividir as classes de nível superior em arquivos fonte separados.

Se houver tentação de inserir várias classes de nível superior em um único arquivo fonte, considerar o uso de classes membro estáticas como uma alternativa para manter a legibilidade e reduzir a acessibilidade das classes.

Importância da Boa Prática:

Seguir a prática de limitar os arquivos fonte a uma única classe de nível superior garante que não haverá múltiplas definições para uma única classe durante a compilação.
Isso garante que os arquivos de classe gerados e o comportamento do programa resultante sejam independentes da ordem dos arquivos fonte passados para o compilador.

Top comments (0)