다시 열어본 코드

Sinf·2022년 1월 1일
0

생각정리

목록 보기
3/15
post-thumbnail

1차 프로젝트를 다시

프로젝트가 끝난지 벌써 1주일이 지났다.
예상은 했다만 새로 코드를 짜는게 좋지 않을까 싶을 정도로 다시 알아보기 어려웠다.

문제점을 찾자

MVC 모델?

일단 MVC 모델을 적용하겠다고 controller, service, model 레이어를 나눠 적용한다고 했다. 하지만, service 레이어에 모델에 대한 제어까지 모두 들어간 코드였다.

현재 MongoDB를 사용하는데, Postgresql을 사용하려 한다면?

Model만 바뀌는 것이 아니라 Service 레이어까지 완전 손 봐야 하는 상황이다..

테스트 코드

테스트 코드도 통합 테스트로 짜왔는데, 서비스마다 유닛테스트도 필요하다고 느껴졌다.

객체 지향인가?

Service 레이어의 함수들이 하나의 서비스 객체로 이루어지는 것이 아니라 각각 함수만 정의되어있고, 컨트롤러에서 서비스를 호출할 때, 각각 함수를 호출에 사용하게 되어있다.

흠...

의존성 주입면에서 클래스로 코드를 구현해 Service 레이어에 Model을 주입해 사용하는 것이 더 좋지 않을까?

어떻게 리팩터링할 것인가?

MVC 모델부터 확실하게

Model과 Service의 역할을 분명히 나눠야겠다.
먼저, mongoose의 static 함수로 Service에서 참조하는 Model 함수를 정의하는 것이 좋겠다.

그리고 Service를 클래스로 정의하여 Controller에서 인스턴스로 사용한다. (생성자에 Model 주입)

테스트 코드

유닛 테스트 하는 것을 목표로 한다.
먼저, Jest의 mock 함수를 이해하고, mocking을 시도한다.

천천히 천천히

처음 팀 프로젝트로 구현하다보니 기능을 빠르게 구현해야 한다는 마음이 급했다.

더 깊이 공부하면서 좋은 프로젝트 구조에 대한 고민도 놓지 않아야겠다.

다음 프로젝트는 1월 말인데, 그 전까지 더 좋은 코드를 짤 수 있도록 준비해보자!

처음부터 다시 짤까....?

profile
주니어 개발자입니다. 🚀

0개의 댓글