Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Create 16-records.md - Explicando como utilizar a classe record #43

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

kaiquevieirasoares
Copy link

Esse pull request adiciona ao repositório as instruções de como utilizar a classe Record introduzida a partir do java 17, foi criado um arquivo MarkDown dentro do diretório intermediário, arquivo 16-records.md.

@gustavommartins
Copy link
Contributor

@FerroEduardo poderia verificar? Este PR contém um dos tópicos da Issue #40

@FerroEduardo
Copy link
Collaborator

Fiquei de revisar, mas acabei esquecendo. Farei o review em breve

@kaiquevieirasoares
Copy link
Author

Ok, tranquilo!

4 - Intermediário/16-records.md Outdated Show resolved Hide resolved
4 - Intermediário/16-records.md Outdated Show resolved Hide resolved
4 - Intermediário/16-records.md Outdated Show resolved Hide resolved
4 - Intermediário/16-records.md Outdated Show resolved Hide resolved

- Limitações na herança: Os Records não suportam herança de classe, o que significa que não é possível estender um Record em outra classe. Isso pode ser um problema se você precisar adicionar funcionalidade a uma classe Record existente.

- Maior complexidade em casos complexos: Em casos complexos, os Records podem se tornar mais difíceis de entender e manter do que as classes Java normais, devido a uma sintaxe mais compacta e a recursos específicos que podem ser difíceis de entender.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Não acredito que a simplicidade dos records adicione complexidade. Pode ser que a adição de novas funções crie uma "barreira" inicial, por ser algo novo e diferente, mas o seu conceito é bem simples de se entender.

Várias documentações reforçam essa ideia de simplicidade e o objetivo de ser uma classe de transporte de dados.

  1. https://docs.oracle.com/en/java/javase/14/language/records.html
  2. https://docs.oracle.com/en/java/javase/17/language/records.html
  3. https://openjdk.org/jeps/395

Também ficou meio contraditório, visto que outro ponto acima menciona que é "mais fácil de ler e manter o código".

4 - Intermediário/16-records.md Outdated Show resolved Hide resolved
4 - Intermediário/16-records.md Outdated Show resolved Hide resolved
4 - Intermediário/16-records.md Outdated Show resolved Hide resolved
4 - Intermediário/16-records.md Outdated Show resolved Hide resolved
Comment on lines 65 to 68
## Mesma classe utilizando Records.

Observe como o código foi simplificado em apenas uma linha. Esse é o poder dessa classe, agora os métodos de acesso a classe não precisam ser criados manualmente, logo, serão instanciados de acordo com a necessidade do código.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Mesma classe utilizando Records.
Observe como o código foi simplificado em apenas uma linha. Esse é o poder dessa classe, agora os métodos de acesso a classe não precisam ser criados manualmente, logo, serão instanciados de acordo com a necessidade do código.
## Exemplo utilizando Records.
Observe como o código foi simplificado em apenas uma linha. Esse é o poder dessa classe, agora os métodos de acesso a classe não precisam ser criados manualmente, logo, serão instanciados de acordo com a necessidade do código.

Reformular esse parágrafo tb

kaiquevieirasoares and others added 8 commits August 23, 2024 07:12
Co-authored-by: Eduardo Cabral <47820549+FerroEduardo@users.noreply.github.com>
Co-authored-by: Eduardo Cabral <47820549+FerroEduardo@users.noreply.github.com>
Co-authored-by: Eduardo Cabral <47820549+FerroEduardo@users.noreply.github.com>
Co-authored-by: Eduardo Cabral <47820549+FerroEduardo@users.noreply.github.com>
Co-authored-by: Eduardo Cabral <47820549+FerroEduardo@users.noreply.github.com>
Co-authored-by: Eduardo Cabral <47820549+FerroEduardo@users.noreply.github.com>
Co-authored-by: Eduardo Cabral <47820549+FerroEduardo@users.noreply.github.com>
@kaiquevieirasoares
Copy link
Author

Pronto @FerroEduardo, modificações feitas. 😄

Copy link
Collaborator

@FerroEduardo FerroEduardo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reabri alguns comentários que não foram resolvidos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants