| name | jsdoc-convention |
| description | TypeScript 파일의 모든 메서드에 JSDoc 주석을 추가합니다. |
| triggers | ["jsdoc","주석","문서화","documentation"] |
JSDoc 주석 추가 스킬
개요
TypeScript 파일의 모든 메서드에 JSDoc 주석을 추가합니다. 코드의 가독성과 IDE 지원을 향상시킵니다.
JSDoc 형식
모든 메서드에 다음 형식의 JSDoc 주석을 추가합니다:
작성 규칙
1. 메서드 설명
- 첫 줄에 메서드가 무엇을 하는지 간결하게 작성
- 한글로 작성
- 마침표로 종료하지 않음
2. @param 태그
- 모든 파라미터에 대해 작성
- 형식:
@param {타입} 파라미터명 설명
- 타입은 TypeScript 타입을 그대로 사용
- 제네릭 타입도 그대로 표기 (예:
Promise<T>, Map<K, V>)
- optional 파라미터는
[파라미터명] 형식으로 표기
3. @returns 태그
- 반환값이 있는 경우 필수 작성
- 형식:
@returns {타입} 설명
void 혹은 Promise<void> 반환인 경우 생략 가능
- Promise 반환 시 내부 타입까지 명시 (예:
Promise<User[]>)
4. @throws 태그 (선택)
- 예외를 던지는 경우 작성
- 형식:
@throws {에러타입} 발생 조건 설명
5. @example 태그 (선택)
- 복잡한 메서드의 경우 사용 예시 추가
- 코드 블록으로 작성
타입 표기 규칙
| TypeScript 타입 | JSDoc 표기 |
|---|
string | {string} |
number | {number} |
boolean | {boolean} |
string[] | {string[]} |
Array<string> | {Array<string>} |
Promise<void> | {Promise<void>} |
Map<string, number> | {Map<string, number>} |
T extends Base | {T} |
Record<K, V> | {Record<K, V>} |
CustomType | {CustomType} |
string | null | {string | null} |
Partial<User> | {Partial<User>} |
예시
기본 메서드
async findUserById(userId: string): Promise<User> {
}
여러 파라미터
async getPosts(page: number, limit: number, sortBy?: string): Promise<Post[]> {
}
제네릭 메서드
async getOrSet<T>(key: string, loader: () => Promise<T>): Promise<T> {
}
void 반환
on(eventName: string, handler: EventHandler): void {
}
예외 발생
parseConfig(filePath: string): Config {
}
private/protected 메서드
private clearCache(): void {
}
콜백 함수 파라미터
async mapSequential<T, R>(
items: T[],
callback: (item: T, index: number) => Promise<R>
): Promise<R[]> {
}
적용 대상
다음 메서드/함수에 JSDoc을 추가합니다:
- 클래스 메서드 (public, private, protected)
- 인터페이스 메서드 시그니처
- 함수 선언 (
function)
- 화살표 함수 (변수에 할당된 경우)
- getter/setter
제외 대상
다음은 JSDoc 추가를 생략합니다:
- 이미 JSDoc이 있는 메서드
- constructor (명확한 경우)
- 단순 getter/setter (자명한 경우)
- 오버라이드 메서드 (부모 클래스 문서 참조)
실행 방법
- 대상 TypeScript 파일을 지정
- 파일 내 모든 메서드를 분석
- JSDoc이 없는 메서드에 주석 추가
- 메서드의 시그니처를 분석하여 타입 정보 추출
- 메서드명과 컨텍스트를 기반으로 설명 생성