카테고리 없음
공통 모듈(Common Module), 왜 중요할까?
얌얌커비
2025. 2. 6. 21:43
왜 같은 코드가 여기저기?
공통 모듈의 필요성
개발을 하다보면 같은 기능을 여러 곳에 반복해서 사용하는 경우가 많습니다.
- 로그인 검증 : 모든 서비스에서 로그인 검증이 필요함
- 날짜 포맷 변환 : 여러 곳에서 동일한 포맷이 필요함
- API 호출 : 공통된 방식으로 API를 호출해야함
이럴 때 코드를 중복해서 작성하면 유지보수가 어렵고 버그가 발생할 확률도 높아집니다. 이런 경우에 공통 모듈이 필요합니다.
공통 모듈이란?
공통 모듈은 여러 곳에서 재사용할 수 있도록 설계된 코드 묶음입니다. 함수, 클래스, 라이브러리 형태로 제공되며 프로젝트의 재사용성을 높이고 유지보수를 편리하게 만듭니다.
공통모듈을 만들 때 고려해야할 점
- 재사용 가능성 : 특정 기능에 국한되지 않고 다양한 곳에서 활용할 수 있도록 범용성을 고려해야함
- 유지보수 용이성 : 모듈이 수정될 경우, 다른 코드에 영향을 최소해야함
- 확장성 : 향후 기능 추가가 용이하도록 설계해야함
- 의존성 최소화 : 특정 라이브러리나 환경에 의존적이지 않도록 설계하는 것이 중요함
[예제] 공통 유틸리티 모듈 만들기
다음은 JavaScript로 만든 날짜 포맷 변환 공통 모듈 예제입니다.
// utils/dateFormatter.js
export function formatDate(date, format = 'YYYY-MM-DD') {
const d = new Date(date);
const year = d.getFullYear();
const month = String(d.getMonth() + 1).padStart(2, '0');
const day = String(d.getDate()).padStart(2, '0');
return format.replace('YYYY', year).replace('MM', month).replace('DD', day);
}
이제 이 모듈을 여러 곳에서 재사용할 수 있습니다.
import { formatDate } from './utils/dateFormatter';
const today = formatDate(new Date());
console.log(today); // 2025-02-06 (예시)
공통 모듈을 관리하는 방법
1. 디렉터리 구조 정리
공통 모듈을 프로젝트에서 효과적으로 관리하려면 디렉터리 구조를 잘 정리해야합니다.
2. 버전 관리 및 문서화
- Git을 활용한 버전 관리 : 공통 모듈을 업데이트할 때 각 버전마다 태깅하여 기록을 남김
- README 작성 : 각 모듈이 어떤 기능을 하는지 간단한 예제와 함께 설명을 남김
- TypeScript 사용 : 타입을 명확하게 정의하여 안정성을 높임
3. 패키지화 후 배포
공통 모듈이 여러 프로젝트에서 사용된다면 NPM 패키지로 배포하는 것 도 좋은 방법!
npm init
npm publish
공통 모듈을 잘 활용한다면?
코드 중복 감소 → 유지보수가 쉬워짐
일관된 코드 스타일 → 가독성이 좋아짐
버그 수정 용이 → 한 번 수정으로 전체 적용 가능
생산성 향상 → 개발 속도가 빨라짐
공통 모듈을 잘 설계하면 좋은 개발 습관을 기를 수 있고 팀 전체의 효율성을 높일 수 있습니다.