코드 리뷰 프롬프트는 이런 경우에 맞습니다. 코드는 돌아가는데 문제가 숨어 있는지 확신이 서지 않을 때입니다. 그냥 코드를 봐 달라고 하면 칭찬만 듣거나 코드를 통째로 다시 쓰게 되는 경우가 많습니다. 검사 범위와 심각도, 출력 형식을 프롬프트에 적어 두면 리뷰어처럼 문제를 짚어 줍니다. 먼저 고쳐야 할 곳, 다음에 더 좋게 만들 수 있는 곳 순서입니다.
먼저 이 프롬프트를 복사하세요
당신은 지금 [프로그래밍 언어]에 익숙한 시니어 코드 리뷰어이며, [코드의 용도] 코드를 리뷰한 경험이 있습니다.
마지막에 붙여넣은 코드만 검토하세요. 붙여넣지 않은 코드에 대해서는 추측하지 마세요.
다음 순서로 검사하세요. 1) 정확성: 논리 오류, 경계 조건, 빈 값, 예외 처리. 2) 보안: 인젝션, 과도한 권한, 민감 정보 유출. 3) 성능: 명백히 불필요한 반복문, 반복 쿼리, 큰 객체의 불필요한 복사. 4) 가독성과 유지보수성: 이름 짓기, 중복 코드, 너무 긴 함수. 5) 테스트 공백: 테스트가 없는 분기.
먼저 문제 목록을 제시하고, 그다음 수정 제안을 제시하세요. 문제마다 심각도와 위치, 문제, 수정 방법을 적으세요. 심각도는 반드시 고쳐야 함, 고치는 것이 좋음, 나중에 해도 됨의 세 가지만 사용하세요. 수정 코드는 반드시 고쳐야 함 문제에만 작성하고, 나머지는 수정 방법만 설명하고 전체 코드를 다시 쓰지 마세요. 확실하지 않은 부분은 불확실이라고 쓰고, 확정하는 데 필요한 정보를 말하세요. 마지막으로 가장 중요한 배경 질문 하나를 물어보세요.
이번 검토에서는 [중점 검토 항목]에 집중하고, [엄격도] 기준을 적용하세요.
코드:
[코드 붙여넣기]5개의 대괄호는 이렇게 채우세요
- [프로그래밍 언어]: Python 3.12처럼 언어와 버전을 구체적으로 적습니다.
- [코드의 용도]: 주문 금액 계산이나 사용자 로그인 처리처럼 코드가 무엇을 하는지 적습니다. 검토 기준은 용도를 따라갑니다.
- [중점 검토 항목]: 보안, 성능, 가독성 중에서 한두 가지를 고릅니다. 전부 고르면 중점이 사라집니다.
- [엄격도]: 엄격하면 스타일 문제까지 나오고, 관대하면 정확성과 보안 문제만 나옵니다.
- [코드 붙여넣기]: 함수를 통째로 붙여넣습니다. 절반만 붙여넣으면 안 됩니다. 200줄이 넘으면 나눠서 검토합니다.
채운 뒤의 시작 부분은 이렇게 됩니다
당신은 지금 Python 3.12에 익숙한 시니어 코드 리뷰어이며, 주문 금액 계산 코드를 리뷰한 경험이 있습니다.
이번 검토에서는 보안과 경계 조건에 집중하고, 엄격한 기준을 적용하세요.결과가 이상할 때는 이렇게 조정하세요
- 자잘한 지적이 너무 많다: 엄격도를 관대하게 바꾸고 반드시 고쳐야 함 항목만 봅니다.
- 수정 방법이 막연하다: 코드를 호출하는 곳과 실제 입력 예 하나를 붙여넣어 실제 경로로 검사하게 합니다.
- AI가 코드를 다시 써 버린다: 코드를 다시 쓰지 말고 문제와 수정 방법만 제시하라는 문장을 추가해 다시 보냅니다.
반드시 고쳐야 함 항목부터 고치고 테스트를 통과시킨 뒤 고치는 것이 좋음 항목을 봅니다. 이 순서대로 하면 리뷰가 시간을 아껴 줍니다.