함수 인자 네이밍 가이드
함수를 작성할 때 가독성 좋고 의미 있는 인자 이름을 고르는 일은 매우 중요합니다.
그러나 실무에서 이 작업은 은근히 시간이 많이 걸리기도 합니다.
아래는 상황별로 자주 사용되는 인자명 패턴을 정리한 자료입니다.
1. 일반적인 상황
| 용도 | 추천 인자명 |
|---|
| 데이터 | data, info, item, input, payload |
| 인덱스/순서 | index, i, position, idx |
| 상태 | state, status, flag, isActive |
| 에러/예외 | error, err, exception |
2. 콜백 함수 관련
| 용도 | 추천 인자명 |
|---|
| 이벤트 핸들러 | event, e |
| 비동기 콜백 함수 | callback, cb, done |
| 조건(필터 함수 등) | predicate, condition, filterFn |
| 매핑 함수 | mapper, mapFn, transform, converter |
3. 특정 데이터 타입
| 데이터 유형 | 추천 인자명 |
|---|
| 사용자 | user, userInfo, profile |
| 날짜 | date, timestamp, dateTime, time |
| 금액/가격 | amount, price, cost, value |
| 배열/리스트 | list, items, array, elements, collection |
| 문자열 | text, str, message, content |
4. 상태 관리 관련
| 용도 | 추천 인자명 |
|---|
| Setter 인자 | newValue, value, nextState, updatedState |
| 초기화 값 | initialValue, defaultValue, initState |
| 이전 상태 | prevState, oldValue, previous, currentState |
5. 컨텍스트 기반 명명
| 문맥 | 추천 인자명 |
|---|
| HTTP 요청/응답 | req, request, res, response |
| DB 관련 | record, doc, document, row, entity |
| 사용자 입력 | input, query, searchTerm, command |
| 관계 지시 | source, target, start, end, min, max, parent, child |
6. 컬렉션 처리 함수
| 용도 | 추천 인자명 |
|---|
| 아이템 | item, element, entry, obj, key, value |
| 리듀서 | accumulator, acc, result, sum, total |
| 필터 조건 | predicate, test, criteria, condition |
7. 유틸리티 함수
| 용도 | 추천 인자명 |
|---|
| 변환 | transform, converter, parser, serializer |
| 유효성 검사 | validator, checker, isValid, validateFn |
| 정렬 비교 함수 | comparator, compareFn, sorter |
활용 팁
- 의미는 명확하게, 길이는 적당하게
- 상황에 따라 동의어도 고려하되 일관성 유지
- 이름만으로도 역할이 예측되는 것이 이상적
이 문서는 함수 작성 시 인자명을 고민하는 시간을 줄이기 위한 참고용으로 활용할 수 있습니다.
React, Node.js, TS 등 다양한 JS 환경에서 일관된 네이밍을 유지하면 코드 품질이 높아집니다.