쓸모없는 경험은 없다.
MVC패턴을 깊게 이해하면서, 작년 말에 진행했던 우테코가 떠올랐다. 비록 프리코스에서 떨어졌지만, 이때 진행한 작업들이 현재의 나에게 큰 교훈을 준다. 프리코스에서는 무조건 맞춰야만하는 법칙같은 것들이 존재했는데, 그게 바로 MVC 모델이었다. 이 과정을 다시 되새겨보니, MVC 모델이 가지는 장점과 단점을 모두 느낄 수 있었고, 내가 얼마나 부족한 프로그래밍 실력을 갖고 있었는지도 볼 수 있었다. 그때 프로그램의 완성도를 생각하니 매우매우 부끄럽다.
내가 느낄 수 있었던 MVC 모델의 장점은 완벽하게 분할이 되었을 때, 정말 유지보수하는 것이 편하고, 어느 부분이 잘못된 것인지를 확인하기가 편리했다는 것이다.
하지만, 단점에서도 나타나듯이 적정수준의 MVC 패턴 이해가 필요하고, 이 이해를 바탕으로 "잘" 설계해야한다. 여기서 나는 꽤나 힘들었었다. 설계를 완벽하게 끝냈다고 생각하고 코딩을 하며 구체화를 시키는 도중에도 MVC가 꼬여버렸다. 이러한 문제를 그 당시에는 해결하지 못하여 Model과 Controller, View가 엉켜있는 상태로 제출한 기억이 있다. 이번 공부를 통하여, 완성도 높은 MVC 패턴이 어떠한 이점을 가지는지 생각해볼 수 있었고, 내가 겪은 문제들을 단점에 대입하여보니 정말 이해가 잘됐다.
프로그래밍 공부는 엄청나게 복선이 많은 영화같다고 생각한다. 이걸 어디다 써먹는지 모르는 것을 배우고 적용시키다보면, 시간이 흐르고 내가 필요한 프로젝트나 공부를 진행할 때 '아, 그때 이거 공부했었는데 이게 이렇게 이어지는구나!'라는 경험이 꽤 많았다. 이러한 경험들이 쌓이고 쌓여서 나중에 나올 것들도 이해하기 쉬울거라고 생각한다. 또한, 그 복선을 발견하는 상황에서 프로그래밍이 재밌다는 생각을 한다.