티스토리 뷰
현재 리팩토링 하고 있는 프로젝트의 Document Depth 이다.
사실 프로젝트가 어떻게든 돌아가고 잘 실행이 된다면, 그건 그거대로 성공한 프로젝트라고 생각한다.
물론 그렇게 단순하게만 생각하면 MVC패턴이나 더 나아가서 ViewController에 모두 때려박는 방법도 크게 문제 될 것은 없다.
하지만, 다양한 Architecture를 사용하는 것이 이후 유지보수 측면이나 실제 출시 전 테스트 단계에서 오류를 발견하기 쉽고
가장 중요한 점은, 내가(or 상대방이) 내 코드를 알아보기 쉽게 하기 위해서 이다!
그렇기 때문에 MVP, MVVM, Viper등 등... Architecture를 잘 활용하는 것이 중요하다고 생각한다.
현재 내가 적용하고 있는 패턴은 MVVM 패턴이다.
(그런데 이제, Clean-Architecture를 살짝 버무린...)
기존의 MVC패턴에서는 흔히 말 하는 비지니스로직(데이터 바인딩, transform 등 등,,,,)뿐 아니라 네트워킹 작업도
모두 ViewController에 때려박았던 기억이 있다...
그 덕에, 오류가 하나 발생하면 하나의 ViewController내의 수백줄의 코드를 다 뒤져보며 코드를 수정하고는 했다,,,,
하지만 현재 리팩토링 작업을 거치면서, 기존에 구현부를 Entity - Repository - Model - Service - ViewModel - ViewController로 나누는 작업을 진행하고 있다.
이번에 이 작업을 진행하면서, 코드도 수정하다보니 자연스럽게 각 Layer별로 테스트를 진행하기도 하였다.
그런데, 완벽한 Clean-Architecture를 지향하며 개발하고 있는 것도 아닌데, 이 뭐라고 말로 설명할 수 없는 편안함......
단순하게 말하면 눈버깅 시간이 상~~~당히 줄어들었다.
처음 이 패턴을 적용하면서 로직들과 엔티티를 분리하기 시작 했을 땐, 상당히 막막했는데
막상 진행하다 보니, 점점 개발속도가 빨라지는 마법에 빠지고있다.
(개발이 빨라지는 이유의 상당 부분은, Error를 빠르게 찾고 수정이 가능한 부분)
뭔가 제대로 된 UseCase를 도입해서 완벽한 Clean Architecture를 적용해버릴까하는 욕심이 생기는 중이다....
'쉬는시간 > 개발일지' 카테고리의 다른 글
[REFACTOR] #1 - MVVM과 RxSwift를 도입하자 (0) | 2023.02.13 |
---|