과제 진행 소감

2주차 피드백에서 '비지니스 로직과 UI로직을 분리하라'를 보고 많이 들어보았던 MVC 패턴을 적용해보았습니다. 처음엔 Model과 View, Controller로 나누었으나 이전 과제와 비슷한 유형인데도 불구하고 요구사항과 예외처리가 더 많아져 Controller가 방대해졌고 구현하려는 코드를 대체 어디에 작성해야 하는지 헤멨습니다. 억지로 기능을 구현하면서 설계한 클래스 구조 자체가 틀린 것이 아닌가 하는 생각이 들었고 MVC 패턴 구조에 대해 다시 공부하였습니다. 구조를 재설계하면서 Service도 추가하고 각 용도별로 어디에 어떤 기능을 구현할 것인지 미리 정의함으로써 다음 기능을 구현할 때 헤메지 않을 수 있었습니다. 이전에는 코드를 짤 때엔 현재 작성하는 코드만을 바라봤다면 이번 3주차 과제를 통해서 프로젝트 전체를 바라볼 수 있게 되었습니다. 구조 재설계를 하면서 요구사항을 제대로 파악하고 요구사항에 적절한 구조를 설계할 수 있다면 이후에 작성하는 코드는 더 가독성이 높아지고 코드를 짜기도 쉬워진다는 것을 배웠습니다.

3주 동안의 루틴은 지금까지 공부한 것들을 활용하여 과제를 제출하고, 책과 강의로 자바를 공부하고, 문제를 풀어보고, 다른 사람들의 코드를 보면서 좋았던 점들을 다음 과제에 적용하였습니다. 이 과정에서 가장 많이 배울 수 있었던 것은 당연 다른 사람의 코드를 보는 것이었습니다. 프리코스 전에는 혼자 공부해서 코드를 작성해도 잘 작성하고 있는지 알 수 없었던 것이 가장 힘들었었습니다. 검색을 해봐도 나와 같은 상황이 아니었기 때문에 배우는데 한계가 있었는데 프리코스를 통해서 나와 같은 상황의 코드를 많이 접할 수 있었고 작성하는 사람마다 코드가 천차만별이라는 것도 재미있었습니다. 사실 3주 내내 재미만 있었냐하면 그것은 아니었지만 여러번 한계에 부딪히면서 점점 제 시야도 넓어지는 느낌을 받았습니다. 짧은 기간이었지만 정말 값진 경험이었고 우테코에서 또 다른 한계를 만나서 성장하고 싶습니다. 감사합니다.