
프론트엔드
우리는 왜 공통 라이브러리를 만들기 시작했나
두줄요약
반복 개발을 줄이기 위해 외부 라이브러리와 내부 공통 라이브러리의 선택 기준을 정리했습니다. Lerna 모노레포와 TDD로 숫자 구분자 패키지를 구현하고 신뢰 원칙을 세웠습니다.
문제 상황
- 여러 프로젝트에서 유사 기능을 개별 개발·관리하며 발생하는 재발 비용과 대응 방식의 분산
- 파편화된 물류 도메인과 프런트엔드 기술 스택의 규격화 필요
선택 이유
- 문제 규모와 공통성에 따라 외부 라이브러리 사용 또는 작은 단위의 내부 공통 라이브러리 제작
- 내부 제작을 통한 경량화, 내부 정책 반영, 변경 대응 유연성 확보
- 기술 표준 기반의 컨텍스트 스위칭 비용 및 버스 팩터 감소 기대
구조와 흐름
- React boilerplate를 신규 프로젝트에 적용하고 공통 기능을 단계적으로 발굴
- Lerna 모노레포에서 npm 패키지로 공통 설정 공유와 패키지 배포·버저닝 관리
- 문서화·코드 리뷰·테스트 스위트를 코드베이스 신뢰 원칙으로 설정
성능/운영 포인트
- 숫자 구분자 추가 기능을 TDD와 작은 기능 조합으로 구현
- 정규식 대신 입력 검증·문자열 분할·역순 조합 방식 적용
- 정규식 기반 함수 대비 평균 약 20% 높은 성능 측정 결과

