49/ 50
+ 수정 의도와 영향, 테스트 권고를 간결히 짚었다.
- 일부 방어 로직 제안은 변경 범위를 다소 벗어난다.
git diff와 커밋 메시지를 넣으면 변경 범위, 영향, 주요 수정 사항, 잠재 이슈와 개선 제안을 요약해 받습니다.
| 분류 | 개발 › 코딩 |
|---|---|
| 태그 | 분석검토개발자코드 |
Act as a Code Review Expert. You are an experienced software developer with expertise in code analysis and version control systems.
Your task is to analyze a developer's work based on the provided git diff file and commit message. You will:
- Assess the scope and impact of the changes.
- Identify any potential issues or improvements.
- Summarize the key modifications and their implications.
Rules:
- Focus on clarity and conciseness.
- Highlight significant changes with explanations.
- Use code-specific terminology where applicable.
Example:
Input:
- Git Diff: ${sample_diff_content}
- Commit Message: ${sample_commit_message}
Output:
- Summary: ${concise_summary_of_the_changes}
- Key Changes: ${list_of_significant_changes}
- Recommendations: ${suggestions_for_improvement}코드 변경 내용을 리뷰하거나 작업 보고로 정리할 때 쓰는 코드 리뷰 역할이다. 명확하고 간결한 분석을 요구하며, 출력 예시는 요약·주요 변경·권장 사항으로 구성된다.
ChatGPT가 정확성·간결성·구성의 균형이 가장 좋다. Gemini도 구체적이지만 다소 장황하며, [C]는 답변이 없다.
+ 수정 의도와 영향, 테스트 권고를 간결히 짚었다.
- 일부 방어 로직 제안은 변경 범위를 다소 벗어난다.
+ 변경 로직과 캡슐화 개선안을 구체적으로 설명했다.
- 영문 제목과 과도한 설계 제안으로 간결성이 떨어진다.
| 기준 | ChatGPT | Gemini | 앞선 모델 |
|---|---|---|---|
| 지시 준수 | 10 | 9 | ChatGPT +11% |
| 정확성 | 10 | 9 | ChatGPT +11% |
| 구체성 | 10 | 10 | 동점 |
| 구성·가독성 | 10 | 9 | ChatGPT +11% |
| 분량 적정성 | 9 | 8 | ChatGPT +13% |
gpt-5.6-sol가 모델 이름을 가린 채 1~10점으로 채점했습니다 (2026-09-25). 측정값이 아니라 AI 심사 결과입니다.
같은 입력을 세 모델에 넣어 받은 답을 그대로 옮겼습니다. 각 CLI(에이전트 하네스)에서 실행했습니다. ChatGPT·Claude 앱이나 웹에서는 답이 다를 수 있습니다.
[붙여 넣은 자료]
Git Diff:
diff --git a/src/main/java/com/shopmate/payment/PaymentService.java b/src/main/java/com/shopmate/payment/PaymentService.java
index 3a1f2c9..8b7e421 100644
--- a/src/main/java/com/shopmate/payment/PaymentService.java
+++ b/src/main/java/com/shopmate/payment/PaymentService.java
@@ -42,7 +42,10 @@ public class PaymentService {
public PaymentResult processPayment(Order order) {
- BigDecimal amount = order.getDiscount().getFinalAmount();
+ Discount discount = order.getDiscount();
+ BigDecimal amount = (discount != null)
+ ? discount.getFinalAmount()
+ : order.getTotalAmount();
return pgClient.charge(order.getUserId(), amount);
}
Commit Message:
fix: 쿠폰 미적용 주문에서 결제 시 NPE 발생하는 문제 수정
order.getDiscount()가 null인 경우(쿠폰 미사용 주문) getFinalAmount() 호출 시
NullPointerException이 발생하던 버그 수정. discount가 없으면 정가(totalAmount)로 결제하도록 처리.요약: 쿠폰이 적용되지 않은 주문에서 order.getDiscount()가 null일 때 발생하던 NullPointerException을 방지하고, 할인 정보가 없으면 주문 총액(totalAmount)을 결제하도록 수정했습니다.
주요 변경사항:
Discount 객체를 지역 변수로 추출했습니다.getFinalAmount()를 사용합니다.order.getTotalAmount()를 사용합니다.영향 및 검토 의견:
order 자체 또는 order.getTotalAmount()가 null일 가능성이 있다면 추가적인 검증이 필요합니다.Order 또는 금액 계산 도메인 로직으로 캡슐화하는 것을 고려할 수 있습니다.권장사항:
totalAmount 경계값에 대한 단위 테스트를 추가하세요.null인 경우를 검증하는 방어 로직이 있는지 확인하세요.| 방산 CV 12개월 로드맵 프롬프트 | |
| 2046 퍼즐 게임 제작 프롬프트 | |
| React 컴포넌트 통합 프롬프트 | |
| 3D 아바타 팩토리 요구 프롬프트 | |
| 3D FPS 게임 개발 프롬프트 |