어떻게 도우미 함수를 사용하여 더 깨끗한 JavaScript를 작성하는가
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
JavaScript 개발자, 특히 코드 모듈화와 테스트 기법을 학습하고자 하는 중급 이상 개발자
핵심 요약
- 도우미 함수는 반복되는 로직을 추상화하여 DRY 원칙을 준수하는 핵심 방법
- 코드 가독성과 테스트 가능성 향상을 위한 주요 도구
getFullName
,square
등의 모듈화된 도우미 함수 예시와 테스트 코드 포함
섹션별 세부 요약
1. 도우미 함수의 정의 및 예시
- 도우미 함수는 작은 단위의 반복 로직을 추상화한 함수
- 예시:
```javascript
// 도우미 함수 사용 전
const fullName = firstName + " " + lastName;
const fullNameCaps = (firstName + " " + lastName).toUpperCase();
// 도우미 함수 사용 후
function getFullName(firstName, lastName) { return ${firstName} ${lastName}
; }
```
- 문자열 조합, 입력 검증, 배열/객체 조작 등 다양한 용도 가능
2. 도우미 함수의 주요 이점
- 가독성 향상: 반복 로직을 한 번만 작성하고 재사용
- 테스트 용이성: 순수 함수(pure function) 특성으로 단위 테스트가 간단
- 유지보수성 개선: 로직 변경 시 단일 위치에서 수정 가능
3. 도우미 함수의 모듈화 패턴
/utils
폴더 구조로 분리:
```
/utils
├── stringHelpers.js
├── dateHelpers.js
└── mathHelpers.js
```
- ES6 모듈로 불러오기:
```javascript
import { getFullName } from "./utils/stringHelpers";
```
4. 테스트 기법 예시 (Jest)
- 순수 함수 테스트:
```javascript
// mathHelpers.js
export function square(n) { return n * n; }
// mathHelpers.test.js
test("returns correct square of number", () => { expect(square(3)).toBe(9); });
```
- 테스트 친화적 설계를 위해 사이드 이펙트 없음 보장
결론
- 반복 로직은 도우미 함수로 추출하고, 모듈화된 폴더 구조로 관리
- 테스트 코드 작성을 통해 로직의 신뢰성 확보
DRY
,모듈화
,테스트 용이성
을 동시에 달성하는 핵심 개발 패턴