144 lines
3.2 KiB
Markdown
144 lines
3.2 KiB
Markdown
## PR Feedback
|
|
|
|
Pull Request 의 리뷰 코멘트를 효율적으로 대응하고, 에러 분석 3 단계 접근법으로 근본 해결을 도모합니다.
|
|
|
|
### 사용법
|
|
|
|
```bash
|
|
# 리뷰 코멘트 취득과 분석
|
|
gh pr view --comments
|
|
「리뷰 코멘트를 우선순위별로 분류하여 대응 계획을 작성하세요」
|
|
|
|
# 에러 관련 코멘트의 상세 분석
|
|
gh pr checks
|
|
「CI 에러를 3 단계 접근법으로 분석하여 근본 원인을 특정하세요」
|
|
|
|
# 수정 완료 후 품질 확인
|
|
npm test && npm run lint
|
|
「수정이 완료되었으므로 회귀 테스트와 코드 품질을 체크하세요」
|
|
```
|
|
|
|
### 기본 예제
|
|
|
|
```bash
|
|
# 코멘트 분류 실행
|
|
gh pr view 123 --comments | head -20
|
|
"리뷰 코멘트를 must/imo/nits/q 로 분류하여 대응 순서를 정하세요"
|
|
|
|
# 에러 정보 수집
|
|
npm run build 2>&1 | tee error.log
|
|
"빌드 에러의 근본 원인을 특정하고 적절한 수정 방법을 제안하세요"
|
|
|
|
# 수정 구현 확인
|
|
git diff HEAD~1
|
|
"이 수정이 리뷰 지적 사항을 적절히 해결하고 있는지 평가하세요"
|
|
```
|
|
|
|
### 코멘트 분류 체계
|
|
|
|
```text
|
|
🔴 must: 수정 필수
|
|
├─ 보안 문제
|
|
├─ 기능 버그
|
|
├─ 설계 원칙 위반
|
|
└─ 규약 위반
|
|
|
|
🟡 imo: 개선 제안
|
|
├─ 더 나은 구현 방법
|
|
├─ 성능 개선
|
|
├─ 가독성 향상
|
|
└─ 리팩터링 제안
|
|
|
|
🟢 nits: 경미한 지적
|
|
├─ 오타 수정
|
|
├─ 인덴트 조정
|
|
├─ 코멘트 추가
|
|
└─ 명명의 미조정
|
|
|
|
🔵 q: 질문·확인
|
|
├─ 구현 의도 확인
|
|
├─ 사양 명확화
|
|
├─ 설계 판단 배경
|
|
└─ 대안 검토
|
|
```
|
|
|
|
### 에러 분석 3 단계 접근법
|
|
|
|
#### Stage 1: 정보 수집
|
|
|
|
**필수 실행**
|
|
|
|
- 에러 메시지의 완전 취득
|
|
- 스택 트레이스 확인
|
|
- 재현 조건 특정
|
|
|
|
**권장 실행**
|
|
|
|
- 환경 정보 수집
|
|
- 최근 변경 이력
|
|
- 관련 로그 확인
|
|
|
|
#### Stage 2: 근본 원인 분석
|
|
|
|
- 5 Whys 분석 적용
|
|
- 종속성 추적
|
|
- 환경 차이 확인
|
|
- 최소 재현 코드 작성
|
|
|
|
#### Stage 3: 해결책 구현
|
|
|
|
- 즉시 대처 (핫픽스)
|
|
- 근본적 해결 (본질 수정)
|
|
- 예방책 (재발 방지)
|
|
|
|
### 대응 플로우
|
|
|
|
1. **코멘트 분석**: 우선순위별 분류
|
|
2. **수정 계획**: 대응 순서 결정
|
|
3. **단계적 수정**: Critical → High → Medium → Low
|
|
4. **품질 확인**: 테스트·린트·빌드
|
|
5. **진행 보고**: 구체적인 수정 내용 설명
|
|
|
|
### 수정 후 확인
|
|
|
|
```bash
|
|
# 기본 체크
|
|
npm test
|
|
npm run lint
|
|
npm run build
|
|
|
|
# 회귀 테스트
|
|
npm run test:e2e
|
|
|
|
# 코드 품질
|
|
npm run test:coverage
|
|
```
|
|
|
|
### 답변 템플릿
|
|
|
|
**수정 완료 보고**
|
|
|
|
```markdown
|
|
@reviewer 지적해 주셔서 감사합니다.
|
|
수정 완료했습니다:
|
|
|
|
- [구체적 수정 내용]
|
|
- [테스트 결과]
|
|
- [확인 방법]
|
|
```
|
|
|
|
**기술 판단 설명**
|
|
|
|
```markdown
|
|
구현 배경: [이유]
|
|
검토한 대안: [선택지와 판단 근거]
|
|
채용안의 장점: [메리트]
|
|
```
|
|
|
|
### 주의사항
|
|
|
|
- **우선순위 준수**: Critical → High → Medium → Low 순으로 대응
|
|
- **테스트 퍼스트**: 수정 전 회귀 테스트 확인
|
|
- **명확한 보고**: 수정 내용과 확인 방법을 구체적으로 기술
|
|
- **건설적 대화**: 기술적 근거기반의 정중한 커뮤니케이션
|