Skip to content

✨Integra método fetchActivityDetails na ActivityDetails e algumas refatorações#6

Open
r-fsantos wants to merge 7 commits into
devpass-tech:mainfrom
r-fsantos:refactor/renato-fetch-activity-details
Open

✨Integra método fetchActivityDetails na ActivityDetails e algumas refatorações#6
r-fsantos wants to merge 7 commits into
devpass-tech:mainfrom
r-fsantos:refactor/renato-fetch-activity-details

Conversation

@r-fsantos
Copy link
Copy Markdown

Descrição simples da nova feature

  • Integra método fetchActivityDetails na ActivityDetails
  • Realiza algumas refatorações
    • Cria erro customizável para a camada de FinanceService
    • Injeção de dependências na camada de FinanceService (sem aplicação do Princípio de Segregação de Interfaces)
    • Injeção de dependências na ActivityDetailsViewController (disposeBag, FinanceService, ActivityDetailsView

Checklist:

Coloque um x nas caixas que se aplicam.

  • Não adiciona código duplicado
  • [] Não contém código comentado
  • [] Não contém código WIP

@r-fsantos r-fsantos marked this pull request as draft March 10, 2023 03:33
private extension ActivityDetailsViewController {

private func fetchDataView() {
service.fetchActivityDetails().subscribe(onSuccess: { [weak self ] activityDetails in
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Suggested change
service.fetchActivityDetails().subscribe(onSuccess: { [weak self ] activityDetails in
service.fetchActivityDetails().subscribe(onSuccess: { [weak self] activityDetails in

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Boa observação. Esse espaço extra, caso estivéssemos usando uma ferramenta de lint, provavelmente iria acusar um problema.

Comment on lines +14 to +17
protocol ActivityDetailsViewProtocol where Self: UIView {
var delegate: ActivityDetailsViewDelegate? { get set }
func show(viewModel: ActivityDetails)
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nesse contexto, criar um protocolo para uma view não é muito usual. Manter as subviews como private é suficiente.

private extension ActivityDetailsViewController {

private func fetchDataView() {
service.fetchActivityDetails().subscribe(onSuccess: { [weak self ] activityDetails in
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Boa observação. Esse espaço extra, caso estivéssemos usando uma ferramenta de lint, provavelmente iria acusar um problema.

@r-fsantos r-fsantos marked this pull request as ready for review March 15, 2023 16:48
… and minors improvements

- Creates a FinanceServiceEndpoints to improve readability
- Inject dependencia via initializer to improve testability, as URLSession and JSONDecoder
- Adds final to FinanceService class to improve performance by reducing DynamicDispatch
… means of protocol conformance and Driver trait
@r-fsantos r-fsantos force-pushed the refactor/renato-fetch-activity-details branch from f918054 to d8a7fdb Compare March 15, 2023 16:51
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