+ Covers every request while noting evidence gaps.
- Excessive checklists and questions dilute focus.
Decides where to start when there is too much to read, promoting the risky files.
| Category | Development › Coding |
|---|---|
| Tags | ReviewingAnalyzingDeveloper |
Plan how to review this pull request. Produce: 1. **Read order**, with a time budget for each group: - Line by line — auth, money, permissions, data deletion, migrations, anything touching external state - Careful — business logic, error paths, concurrency - Skim — tests, generated code, formatting, renames - Skip — vendored, lockfiles 2. For each file in the first group, what specifically to check. 3. **Scope check** — changes that do not belong to what the PR description says it does. Unrelated changes hidden in a large diff are how things slip through. 4. Questions to ask the author before reviewing, so the review is not spent inferring intent. 5. What the tests appear not to cover, based on what changed. 6. Whether this should have been several PRs, and where the split lines are. *Say this even if it is too late — it changes what the author does next time.* Rules: - *Do not attempt a full line-by-line review of everything.* A review that runs out of attention halfway is worse than one that budgets it. - Judge risk by what the code touches, not by how many lines changed. A three-line permission change outranks a 500-line refactor. - Where the file list alone is not enough to judge, say what you would need to see.
Reviewing a 40-file PR top to bottom misses what matters. This ranks files by risk and separates what can be skimmed from what needs line-by-line attention.
ChatGPT is the most complete and evidence-aware. Gemini is useful but somewhat assumptive, while [C] is absent.
+ Covers every request while noting evidence gaps.
- Excessive checklists and questions dilute focus.
+ Clearly identifies risks and PR split lines.
- It makes assumptions despite missing filenames.
| Criterion | ChatGPT | Gemini | Leader |
|---|---|---|---|
| Instruction following | 10 | 8 | ChatGPT +25% |
| Accuracy | 9 | 7 | ChatGPT +29% |
| Specificity | 10 | 9 | ChatGPT +11% |
| Structure | 9 | 9 | Tie |
| Right length | 6 | 7 | Gemini +17% |
Scored 1–10 by gpt-5.6-sol with model names hidden (2026-09-24). This is an AI review, not a measurement.
We gave three models the same input and copied their answers unedited. Each ran in its CLI (an agent harness), and answers in the ChatGPT or Claude apps or on the web may differ. Outputs are in Korean.
Changed files: 총 37개 파일 변경, +1,842 / -603줄. src/payments/* (8개 파일), src/api/webhooks/* (5개 파일), src/components/checkout/* (12개 파일), tests/* (7개 파일), package.json, migrations/0023_add_refund_table.sql PR description: 결제 모듈에 토스페이먼츠 부분환불 기능을 추가합니다. 기존 KG이니시스 연동 코드는 건드리지 않았고, 체크아웃 페이지에 환불 요청 버튼을 추가했습니다. Risky areas: 환불 금액 계산 로직(부분환불 누적 합산), 관리자 두 명이 동시에 같은 주문을 환불 처리할 때의 동시성, 토스페이먼츠 웹훅 서명 검증 로직
현재 제공된 목록만으로는 정확한 파일명과 변경 위치를 알 수 없으므로, 아래는 경로 기준의 리뷰 계획입니다. 실제 리뷰 전에는 PR diff와 각 파일명을 확인해야 합니다.
위험도가 가장 높은 순서입니다.
migrations/0023_add_refund_table.sql — 10분 src/payments/* 8개 — 30~40분 src/api/webhooks/* 5개 — 25~30분 src/components/checkout/* 중 환불 요청을 생성하거나 API를 호출하는 파일 — 5~10분특히 다음을 확인합니다.
src/components/checkout/* 나머지 파일src/payments/*의 표시용·어댑터 보조 코드src/api/webhooks/*의 응답 포맷, 로깅, 공통 에러 처리tests/* 7개테스트는 실행 결과만 보지 말고, 이번 변경의 위험을 실제로 검증하는 assertion인지 확인합니다.
단, package.json은 완전히 건너뛰지 않고 3~5분 확인합니다.
정확한 파일명이 없으므로 현재는 각 경로의 모든 파일을 개별 검토 대상으로 잡습니다.
migrations/0023_add_refund_table.sqlsrc/payments/* 8개각 파일에서 다음을 확인합니다.
결제금액 - 기존 환불액 계산이 원자적으로 수행되는가src/api/webhooks/* 5개src/components/checkout/*PR 설명은 “토스페이먼츠 부분환불 추가”와 “체크아웃 페이지 환불 요청 버튼”입니다. 따라서 다음은 범위 내일 가능성이 높습니다.
다음은 범위 밖일 가능성이 있으므로 diff에서 별도 확인해야 합니다.
특히 37개 파일, 1,842줄이면 “기존 KG 연동은 건드리지 않았다”는 설명과 실제 diff가 일치하는지 먼저 확인해야 합니다. 파일 목록만으로는 공용 모듈을 통한 간접 변경 여부를 판단할 수 없으므로, 실제 diff와 import 그래프가 필요합니다.
현재 테스트 파일의 내용이 없으므로 확정할 수는 없지만, 반드시 테스트 존재 여부를 확인할 영역은 다음과 같습니다.
그렇습니다. 현재 범위는 최소 세 개의 관심사가 섞여 있습니다.
데이터 모델·마이그레이션 PR
migrations/0023_add_refund_table.sql결제 도메인·토스 연동 PR
src/payments/*웹훅·UI PR
src/api/webhooks/*src/components/checkout/*가능하다면 테스트도 각 PR에 함께 넣되, 토스 sandbox 통합 테스트는 별도 통합 테스트 PR 또는 별도 커밋으로 분리하는 편이 좋습니다.
지금 분리하기 어렵다면 이번 리뷰에서는 최소한 리뷰 순서를 위 세 경계로 나누고, 각 경계 사이의 계약—환불 상태 전이, 멱등성 키, 금액 단위, 웹훅 의미—를 명시적으로 문서화해야 합니다. 다음번에는 기능 구현, 외부 결제 연동, 관리자/UI 변경을 한 PR에 함께 넣지 않는 것이 좋습니다.
| 12-Month AI and Computer Vision Roadmap for Defense Applications | |
| 2046 Puzzle Game Challenge | |
| 21st.dev component prompt | |
| 3D FACTORY | |
| 3D FPS Game |