본문으로 이동
문서

우리는 왜 공통 라이브러리를 만들기 시작했나

임진호 · 컬리 · 컬리 기술 블로그

원본 보기

소개

우리는 왜 공통 라이브러리를 만들기 시작했나

AI 핵심 요약

여러 물류 프로젝트에서 비슷한 기능을 각자 구현하고 관리하면서 생기는 중복과 대응 비용을 줄이기 위해, 컬리 물류 웹개발팀은 프런트엔드 기술과 공통 기능의 표준화를 시작했습니다. 외부 라이브러리와 자체 구현의 장단점을 비교해, 필요한 시간과 인력에 따라 선택하고 작은 기능부터 내부 패키지로 만들기로 했습니다. 신뢰를 위한 원칙으로 문서화·코드 리뷰·테스트를 세우고, Lerna 모노레포와 npm을 이용해 숫자 구분자 추가 기능을 배포했으며 TDD로 구현을 검증했습니다. 공통 코드를 꾸준히 공유하고 재사용하면 반복되는 재발 비용과 조직 내 소통·의사결정 비용을 줄일 수 있다는 점을 배웠습니다.

  • 외부 라이브러리와 자체 구현은 각각 장단점이 있으므로 기능의 중요도와 개발·유지보수 비용을 기준으로 선택하세요.
  • 공통 코드의 신뢰를 높이려면 문서화, 코드 리뷰, 테스트 스위트를 함께 운영해야 합니다.
  • 여러 패키지를 관리하고 배포하기 위해 Lerna 기반 모노레포와 npm 패키지를 활용할 수 있습니다.
  • 정규식 대신 작은 기능 단위로 나누고 TDD로 검증하면 확장과 수정이 쉬운 구현을 만들 수 있습니다.