과제 요약
과제 진행 소감
MVC, 디자인 패턴 꼭 적용해야하나?
1, 2주차는 시작과 동시에 기능에 따라 코드를 분리하려고 노력했었지만, 이번 3주차에서는 우선적으로 기능 구현에 초점을 두었습니다. 1, 2주차보다는 조금 더 빠르게 구현을 해보고 싶어서 코드의 구조가 조금 망가지더라도 기능구현을 먼저 해두고, 필요에 따라 중간에 분리를 하거나 완성 후에 코드 분리를 진행했습니다.
MVC 패턴을 이번 프리코스를 하면서 처음 적용해보았는데, 1, 2주차 기간에는 처음부터 이 패턴을 적용하느라 억지로 코드를 작성한 감이 있었습니다. 그렇다보니 이 패턴의 장점이나, 필요성 보다는 틀에 맞추면서 코딩을 하는 듯한 느낌을 받았었는데, 이번에는 반대였습니다.
오히려 막무가내로 코딩을 하는 과정에서 어느정도 정형화 된 틀의 필요성을 느꼈고, 특히 Controller와 View의 분리의 필요성을 느꼈습니다. 입력값의 유효성을 판단해주는 과정을 처음에는 View에서 해줘야 된다고 생각했었습니다. 사용자의 입력을 받는 역할이 View니까, View가 마찬가지로 재요구하기 위해 Validation까지 해줘야하지 않나? 로 시작해서 코딩을 했었는데, View와 Util의 의존성이 점점 커지는 것 같아서 Controller에서 입력값의 유효성을 판단하도록 코드를 수정했고, View는 본래의 기능에 충실할 수 있었습니다.
1, 2, 3주차의 프리코스를 경험하면서 디자인 패턴을 공부하기 위해 억지로 그 패턴에 적용해보는 것도 필요하다고 생각이 들었고, 반대로 막무가내로 코딩을 해보는 것도 그 패턴의 중요성을 느낄 수 있는 방법일 거라고 느꼈습니다. 그리고 디자인 패턴이라는 게 억지로 만든 거라기 보다는, 기능에 따라 코드를 분리하면서 자연스럽게 생긴 형식이라는 걸 다시 한 번 느낄 수 있었던 것 같습니다.
사소하지만 중요한 것들
매 주차별 미션에서 신경을 쓰는 부분이지만 아직 부족한 점들이 있는 것 같습니다. 함수와 변수의 명명, 접근 제한자 같은 부분들을 1주차에서 많이 놓쳐서 피드백을 받았는데, 2, 3주차에 걸쳐 개선해보려고 노력했습니다. 명명 규칙의 경우, 단순하지만 처음 보는 사람이 의미를 바로 파악할 수 있는 이름으로 지으려고 했는데, 만족스럽지 않은 경우도 있어서 리뷰를 받아보면서 개선해나가고 싶었습니다.