오늘도 삽질중

Android 디자인패턴이 그렇게 중요할까? 본문

안드로이드

Android 디자인패턴이 그렇게 중요할까?

Choi3950 2020. 6. 30. 18:27
반응형

필자는 1년 6개월차 안드로이드 초보개발자입니다.

1년간 블록체인 회사에서 일하고, 개인적인 사정으로 프리랜서 6개월을 진행했습니다.

출시한 앱은 총 4개이며,  출시후 디테일하게 유지보수까지 한 앱은 2개입니다.


해당 내용은 제가 지금까지 개발하면서 느낀 개인적인 견해입니다.

사람마다 생각이 다르듯이 저의 디자인패턴에 대한 생각을 제 경험을 토대로 작성하였습니다.



예전엔 위 질문에 "별로 중요하지 않은거 같은데?" 라는 생각을 자주 했다.

하지만 지금은 "매우 중요하다, 다만 모든 유스케이스에 꼭 적용 할 필요는 없다." 라고 생각이 바뀌게 되었다.

왜 이렇게 생각이 바뀌었느냐....직접 실무에서 개발을 해보니까 필요성을 느끼게 되었다.

필자는 지금까지 MVC 패턴으로만 개발을 했기 때문이다.


물론 MVC패턴으로 모든 개발이 가능하다고 생각한다.

특히 단순한 앱이라면 오히려 MVC가 더 직관적이고, 시간단축에 도움이 된다고 본다.

하지만 예전부터 추세는 MVC보단 MVP, MVVM 을 더 많이 쓰고 있다.



흔히 디자인패턴으로 구성하려는 이유 중 가장 중요한 요소는 어느 블로그를 봐도

1. 유지보수

2. 테스트


위 2가지가 명시되어 있다.

근데....해보니까 정말 맞다. 막말로 대충짜면 유지보수하는데 시간을 너무 많이 잡아먹는다.

특히 어떤 기능을 수정하거나 추가하기 위해 이전 소스를 분석하는 시간이 너무 오래 걸린다.


그나마 수정은 좀 덜한편이다. 

기능 추가하려면?? 내가 짠 코드지만 진짜 스파게티 코드가 뭔지 알게되는 기분이다. 

그리고 과거의 내 자신에게 꾸짖음을 하게 된다. 왜 이렇게 짰는지...


또한 앱을 출시하고 나서도 문제가 많다. 

내가 테스트하고 디버깅 할 땐 아무렇지도 않았는데, 출시하고 나니 무슨 에러가 이렇게 많은지...

막 짜놓으면 이 에러파악도 답이 없다. 

왜냐고? 내가 테스트 할 땐 에러가 절대로 안나온다. 그리고 에러시연을 하려고 해도 수정해야 할 부분이 너무 많다.

그나마 지금은 왠만한 에러를 다 해결하고 안정화 상태에 들어갔지만, 한참 에러가 터졌을 땐.......ㅠㅠ


예전에 개발 신입으로 들어가기 전에는 "일단 되면 그만이지" 라는 생각과 "디자인 패턴? 그냥 공부해서 하면 되지" 라는 생각을 했던 내 자신이 조금 부끄러워 진다.


막상 디자인패턴 공부하려고 보니까 요구되는 선행지식이 상당히 많다.

쉽게 생각할 부분이 아니라 정말 많은 시간과 고민을 해야하는 부분이라고 생각이 든다.


이렇게 디자인패턴의 중요성을 알게 되니까, 이름만 들으면 누구나 알만한 여러 회사에서 왜 디자인패턴의 이해도를 중요하게 보는지 뼈저리게 느꼈다.


그래서 요즘엔 내가 출시 한 앱 중에 그나마 간단한 앱 하나를 MVP,MVVM으로 변환하는 작업을 해보고 있다.

글을 쓰는 이 시점엔 MVP로 변환하는 작업은 어느정도 마무리를 지었는데 , 작업을 하는 중간이나 완성시키고 보니 확실히 더 나은점을 많이 발견했다.


코드의 간결성이나, 유지보수측면에서 월등하다는 점이다. 

물론 지금 작성한 MVP패턴도 수정해야 할 부분이 많을 것이다.

하지만 기본적인 개념을 이해했다는 점에서 우선 만족하고 있다.


이제 MVVM으로 변환해야하는데, 이건 MVP보다 좀 더 어려운거 같다.

그래도 꼭 해봐야 하는 작업이라 생각하고 진행하고 있다.















반응형
Comments