포스트

[GitHub 100일 챌린지] Day 59 - 코드 리뷰 받고 대응하기

[GitHub 100일 챌린지] Day 59 - 코드 리뷰 받고 대응하기

100일 챌린지 Day 59 - 코드 리뷰를 받고 건설적으로 대응하는 방법을 배웁니다.

배울 내용

  1. 코드 리뷰의 종류와 의미
  2. 피드백에 대응하는 방법
  3. 추가 커밋과 재요청

1. 코드 리뷰 종류

Approve ✅

1
2
"LGTM (Looks Good To Me)"
→ 승인, Merge 가능

Request Changes 🔴

1
2
"변경 필요"
→ 수정 후 재요청 필요

Comment 💬

1
2
"제안 또는 질문"
→ 참고용, 필수 아님

2. 리뷰 코멘트 유형

Inline Comment

1
2
특정 코드 라인에 대한 피드백:
"이 부분에 null 체크 추가해주세요"

General Comment

1
2
PR 전체에 대한 피드백:
"전반적으로 좋습니다. 테스트만 추가해주세요"

Suggestion

1
2
GitHub가 제공하는 코드 제안:
[Commit suggestion] 버튼으로 바로 적용 가능

3. 피드백 대응하기

Step 1: 이해하기

1
2
3
명확하지 않으면 질문:
"말씀하신 부분이 UserService의 
어느 메서드를 말씀하시는 건가요?"

Step 2: 동의 여부 판단

1
2
3
4
5
6
✅ 동의:
"좋은 지적입니다. 수정하겠습니다."

💬 논의 필요:
"제안 감사합니다. 다만 이 방식은
XXX 문제가 있을 것 같은데, YYY는 어떨까요?"

Step 3: 코드 수정

1
2
3
4
5
6
7
8
9
10
11
12
13
git checkout feature-branch

# 피드백 반영
# 코드 수정

git add .
git commit -m "refactor: Apply review feedback

- Add null check in UserService
- Extract common logic to util
- Update test cases"

git push origin feature-branch

Step 4: 응답 작성

1
2
3
4
5
6
7
8
@reviewer 피드백 반영했습니다!

변경사항:
- ✅ UserService에 null 체크 추가
- ✅ 공통 로직 유틸로 분리  
- ✅ 테스트 케이스 추가

Commit: abc1234

4. Suggestion 적용

1
2
3
4
5
1. Suggestion 코멘트에서 
   "Commit suggestion" 클릭
2. 또는 여러 Suggestion을 
   "Add to batch" → "Commit suggestions"
3. 자동으로 커밋 생성됨

5. 재검토 요청

1
2
3
4
모든 피드백 반영 후:
1. "Re-request review" 클릭
2. 리뷰어에게 알림 전송
3. 리뷰어가 재검토

6. 좋은 대응 예시

예시 1: 건설적 논의

1
2
3
4
5
6
7
리뷰어: "여기서 async/await 대신 Promise를 사용하는 이유가 있나요?"

작성자: "좋은 질문입니다! 현재 프로젝트가 
Node 12를 지원해야 해서 일부 환경에서 
async/await이 지원되지 않을 수 있습니다.
Node 14+로 업그레이드 계획이 있다면 
async/await으로 변경하는 게 더 좋을 것 같습니다."

예시 2: 감사와 수용

1
2
3
4
5
6
7
8
9
리뷰어: "테스트에서 edge case 추가가 필요합니다."

작성자: "놓쳤네요, 감사합니다! 
다음 케이스들을 추가했습니다:
- 빈 배열
- null 값
- 대량 데이터 (1000+ 항목)

Commit: def5678"

7. 피해야 할 대응

❌ 방어적 태도:

1
2
"이건 원래 그렇게 하는 겁니다"
"다른 코드도 다 이렇게 되어 있어요"

❌ 무응답:

1
2
코멘트를 무시하고 바로 수정
→ 리뷰어는 이유를 모름

❌ 감정적 반응:

1
2
"왜 이것만 지적하시나요?"
"제 코드가 그렇게 나쁜가요?"

8. 리뷰 완료 후

1
2
3
4
5
6
7
8
9
10
11
12
13
# PR Merged 후

# 1. 로컬 main 업데이트
git checkout main
git fetch upstream
git merge upstream/main

# 2. 작업 브랜치 삭제
git branch -d feature-branch
git push origin --delete feature-branch

# 3. 감사 인사
GitHub에서 리뷰어에게 감사 댓글

정리

완료 체크:

  • 코드 리뷰 종류를 구분할 수 있다
  • 피드백에 건설적으로 대응할 수 있다
  • Suggestion을 적용할 수 있다

핵심 요약:

  • 피드백은 배움의 기회
  • 명확하지 않으면 질문하기
  • 수정 후 재요청
  • 감사와 존중의 태도

다음: Day 60 - PR 머지 과정


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.