코드 생성 기본 프롬프트

프롬프트코딩개발ChatGPTClaude

AI로 코드를 효과적으로 생성하는 프롬프트 패턴을 알아봅니다.


기본 구조

[언어/프레임워크]로 [기능]을 하는 코드를 작성해줘.

요구사항:
1. [요구사항 1]
2. [요구사항 2]
3. [요구사항 3]

제약사항:
- [제약 1]
- [제약 2]

함수 생성

기본 함수

Python으로 다음 함수를 작성해줘:

함수명: calculate_discount
기능: 가격과 할인율을 받아 할인된 가격 반환
매개변수: price (float), discount_rate (float, 0-100)
반환값: 할인된 가격 (float)
예외처리: 음수 가격, 100 초과 할인율

예시:
calculate_discount(100, 20) → 80.0

상세 함수

TypeScript로 함수를 작성해줘:

함수명: searchUsers
목적: 사용자 검색 (이름 또는 이메일로)
매개변수:
  - query: string (검색어)
  - options?: { limit?: number, offset?: number }
반환값: Promise<User[]>

요구사항:
- 대소문자 구분 없이 검색
- 부분 일치 지원
- 페이지네이션 지원
- 타입 정의 포함

클래스 생성

JavaScript로 클래스를 작성해줘:

클래스명: ShoppingCart
속성:
  - items: 장바구니 아이템 배열
  - discount: 할인 코드

메서드:
  - addItem(product, quantity)
  - removeItem(productId)
  - updateQuantity(productId, quantity)
  - getTotal()
  - applyDiscount(code)
  - clear()

요구사항:
- 수량은 1 이상이어야 함
- 총액 계산 시 할인 적용
- 에러 처리 포함

API/엔드포인트

Express.js로 REST API 엔드포인트를 작성해줘:

리소스: /api/posts
기능:
  - GET /posts - 목록 조회 (페이지네이션)
  - GET /posts/:id - 단일 조회
  - POST /posts - 생성 (인증 필요)
  - PUT /posts/:id - 수정 (작성자만)
  - DELETE /posts/:id - 삭제 (작성자만)

요구사항:
- 입력값 유효성 검사
- 에러 핸들링
- 응답 형식 통일
- 간단한 미들웨어

데이터 처리

Python으로 데이터 처리 스크립트를 작성해줘:

입력: CSV 파일 (날짜, 제품, 수량, 가격)
처리:
  1. 날짜별 매출 합계
  2. 제품별 판매량 순위
  3. 월간 트렌드 분석

출력: 처리된 데이터 + 간단한 요약 통계
라이브러리: pandas 사용

React 컴포넌트

React + TypeScript로 컴포넌트를 작성해줘:

컴포넌트: SearchInput
기능: 디바운싱이 적용된 검색 입력창

Props:
  - onSearch: (query: string) => void
  - placeholder?: string
  - debounceMs?: number (기본값 300)

요구사항:
- 입력 중 로딩 표시
- 취소 버튼 (입력값 있을 때만)
- 접근성 고려 (ARIA)
- Tailwind CSS로 스타일링

유틸리티 함수

다음 유틸리티 함수들을 TypeScript로 작성해줘:

1. formatDate(date, format) - 날짜 포맷팅
2. debounce(fn, ms) - 디바운스
3. throttle(fn, ms) - 쓰로틀
4. deepClone(obj) - 깊은 복사
5. isEmpty(value) - 빈 값 체크

각 함수에 대해:
- 타입 정의
- JSDoc 주석
- 간단한 사용 예시

프롬프트 향상 팁

명확한 입출력

입력: [정확한 입력 형태]
출력: [예상 출력]
예시:
  입력 → 출력

엣지 케이스 명시

처리해야 할 케이스:
- 빈 입력
- null/undefined
- 잘못된 타입
- 경계값

코드 스타일 지정

스타일:
- ESLint 규칙 준수
- 함수형 스타일 선호
- 명명 규칙: camelCase
- 주석: 필요한 경우만

설명
구체적으로함수명, 매개변수 명시
예시 제공입출력 예시 포함
제약 명시사용 가능한 라이브러리
스타일 지정코딩 컨벤션 명시
점진적 요청큰 기능은 나눠서

구체적인 요청이 좋은 코드를 만듭니다.

궁금한 점이 있으신가요?

협업·의뢰는 아래로, 가벼운 소통은 인스타그램 @bluefox._.hi도 환영이에요.