DEV Community

Java Efetivo (livro)
Java Efetivo (livro)

Posted on

1

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.

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

👋 Kindness is contagious

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

Okay