Skip to content
This repository has been archived by the owner on Jun 1, 2024. It is now read-only.

iOS - refactor BeagleScreenViewController and ViewModel #732

Closed
theffc opened this issue Aug 10, 2020 · 0 comments
Closed

iOS - refactor BeagleScreenViewController and ViewModel #732

theffc opened this issue Aug 10, 2020 · 0 comments
Labels
DX Dev Experience: something that directly degrades our users (developers) experience with our product iOS This issue directly affects structure and logic of iOS project technical debt does not affect users directly, but is an internal/technical point of improvement

Comments

@theffc
Copy link
Contributor

theffc commented Aug 10, 2020

This is a quite difficult issue, should be further discussed to better understand how this could be achieved, could actually cause some breaking changes

Goals

  • currently our BeagleScreenViewController and ViewModel are quite large (250+ lines) and the logic itself is difficult to follow
  • prepare our structure to when initiating a beagle flow, users could show loading and error outside BeagleScreen
    • for this we will need to separate all that logic about requesting and changing view state from ViewModel.
  • have tests for ViewModel logic, even if we change that code to other places
  • maybe we could remove Bindings logic from ViewController, and have it at another place
  • maybe execute actions could be outside of ViewController as well
@theffc theffc added iOS This issue directly affects structure and logic of iOS project DX Dev Experience: something that directly degrades our users (developers) experience with our product technical debt does not affect users directly, but is an internal/technical point of improvement labels Aug 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
DX Dev Experience: something that directly degrades our users (developers) experience with our product iOS This issue directly affects structure and logic of iOS project technical debt does not affect users directly, but is an internal/technical point of improvement
Projects
None yet
Development

No branches or pull requests

2 participants