모노레포 간략 정리

shinetiger·2022년 12월 6일
0

이론정리

목록 보기
11/13

모노레포 라는것이, 프로젝트의 규모가 커질때 사용되는데 나는 그런 경험을 한 적이 없어서 이른감이 있지 않나, 생각했지만 그래도 알아두면 사수없는 회사를 가게 되었을 때 유용할 것 같다고 생각된다. 오히려 모노레포를 알게되어서 멀티레포의 단점을 알게 된것도 중요하다고 본다.

요약

  • 모노레포는 새로운 프로젝트를 설계하거나 규모가 커질때 유용하다.
  • 코딩 컨벤션을 통일 할 수 있다
  • 팀 내 유지보수 하는 프로젝트들을 비교적 최신 상태로 유지할 수 있다
  • 각각 프로젝트의 작업사항을 하나의 레포에서 확인할 수 있다.
    ⇒ 코드 리뷰에 적극 참여할 수 있고, 접하지 않던 프로젝터의 컨텍스트도 볼 수 있다

탄생배경

멀티레포

멀티레포는 말 그래도 레포지(편의상 레포지토리를 레포지라고 칭한다)가 여러개일 경우 이다. 레포지가 여러개라는 건 프로젝트도 여러개 라는 뜻! 그러나 같은 회사 소속사람들이 관리하는 프로젝트들 이라면 반드시 중복되는 모듈 이 존재하게 된다.

중복되는 모듈 이란, 구체적으로 의존성을 말한다. 그리고 이 의존성에는 Lint 환경이나 Boilerplate 같은것들, 넓게 말하자면 프로젝트도 포함된다.

단점

회사에서 사용되는 동일한 모듈인데 프로젝트를 시작할 때 마다 일일히 세팅해야 하니 매우 불편함 외에도 딸려오는 문제점들이 있다.

  • 각 프로젝트의 코드 컨벤션이 통일하기가 어렵다.
  • 사용하는 모듈 및 버전 스택이 달라질 수 있다.
  • 오랫동안 건드리지 않은 프로젝트의 관리가 힘들어지며, 시간이 지날수록 해당 프로젝트의 Legacy 파악이 어려워질 수 있다.
  • 팀원별 컨텍스트 공유가 원활하지 않다
profile
의문을 질문으로 바꾸는 개발자

0개의 댓글