Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

[Sugestão] Organização de código e boas praticas

Como falado na aulo pelo Paulo, essa estrutura de código com Record é chamada de Data Tranfer Objects (DTO) e serve para transportar dados de forma simples, como dados vindo de um servidor ou API.
Para seguirmos boas praticas, termos mais organização e separação de responsabilidades; recomendo que deixem esses DTO em uma pasta dedicada em vez de colocar na pasta de modelos/entidades.
Minha estrutura de pastas ficou da seguinte maneira:
src
│ ├───main
│ │ ├───java
│ │ │ └───com
│ │ │ └───example
│ │ │ ├───dto
│ │ │ │ TituloOmdb.java
│ │ │ │
│ │ │ ├───entities
│ │ │ │ Episiodio.java
│ │ │ │ Filme.java
│ │ │ │ Serie.java
│ │ │ │ Titulo.java
│ │ │ │
│ │ │ ├───Principal
│ │ │ │ Main.java
│ │ │ │ PrincipalComBusca.java
│ │ │ │ PrincipalComListas.java
│ │ │ │
│ │ │ └───services
│ │ │ CalculadoraDeTempo.java
│ │ │ Classificavel.java
│ │ │ FiltroRecomendacao.java

1 resposta
solução!

Olá, Luís! Tudo bem?

Sua sugestão de organização de código é excelente!

Separar os Data Transfer Objects (DTOs) em uma pasta dedicada é uma prática que ajuda a manter o código mais organizado e facilita a manutenção. Isso também segue o princípio de separação de responsabilidades, onde cada parte do seu projeto tem uma função clara e específica.

A estrutura de pastas que você compartilhou parece bem organizada e clara. Ter uma pasta específica para DTOs, outra para entidades, serviços e a principal para execução do programa é uma abordagem que muitos desenvolvedores adotam para manter o código limpo e fácil de navegar.

Um exemplo prático do benefício dessa organização é quando você precisa fazer alterações ou adicionar novos DTOs. Com essa estrutura, você sabe exatamente onde procurar e onde adicionar novas classes, sem misturar com outras que têm propósitos diferentes, como entidades que representam o modelo de domínio da sua aplicação.

Além disso, ao trabalhar em equipe, essa organização ajuda outros desenvolvedores a entenderem rapidamente a estrutura do projeto e onde encontrar ou adicionar novos elementos.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!