테마
PR과 코드 리뷰
코드 리뷰란?
한 명 또는 여러 명의 개발자가 본인이 만들지 않은 코드를 점검하고 피드백을 주는 과정입니다.
코드 리뷰의 장점
| 장점 | 설명 |
|---|---|
| 버그 조기 발견 | 배포 전에 문제를 잡아낼 수 있음 |
| 코드 품질 향상 | 중복 코드 방지, 모듈 재사용성 증대 |
| 컨벤션 준수 | 팀의 코딩 규칙을 일관되게 유지 |
| 지식 공유 | 다른 사람의 코드에서 배울 기회 |
| 공동 책임 | 특정인을 비난하지 않는 건강한 개발 문화 |
코드 리뷰의 가장 중요한 점
코드 리뷰 문화가 정착되면, 문제 발생 시 책임자를 추궁하는 것이 아니라 시스템적 안정성을 어떻게 확보할지 고민하는 문화가 만들어집니다. 모든 리뷰어가 승인(approve)한 코드이므로 공동 책임입니다.
Pull Request (PR)란?
내가 변경한 코드를 다양한 사람들이 리뷰할 수 있도록 요청하는 기능입니다. GitHub에서 제공하는 협업의 핵심 도구입니다.
PR 워크플로우
단계별 상세
1단계: 브랜치 생성 및 작업
bash
# main에서 새 브랜치 생성
git checkout main
git pull # 최신 상태 동기화
git checkout -b qna # qna 브랜치 생성 + 이동
# 작업 수행
touch qna.txt
git add qna.txt
git commit -m "add qna.txt"2단계: 원격에 push
bash
git push -u origin qna3단계: GitHub에서 PR 생성
- 리포지토리 페이지에 Compare & pull request 버튼 클릭
- 또는 Pull requests 탭 → New pull request 클릭
- Base:
main, Compare:qna선택
4단계: PR 정보 작성
| PR 요소 | 설명 |
|---|---|
| Title | PR의 목적을 간결하게 요약 |
| Description | 어떤 작업을 했고 왜 했는지 상세 설명 |
| Assignee | 이 PR의 작업자 |
| Reviewer | 코드를 봐줄 리뷰어 |
| Label | enhancement, bug, docs 등 분류 태그 |
5단계: 코드 리뷰
리뷰어는 Files changed 탭에서 변경사항을 확인합니다:
- 각 코드 라인의 + 버튼을 눌러 코멘트 작성
- Add single comment: 개별 코멘트 바로 등록
- Start a review: 여러 코멘트를 모아서 한 번에 제출
6단계: 머지 및 동기화
bash
# GitHub에서 Merge pull request 버튼 클릭
# 로컬에서 최신 상태 동기화
git checkout main
git pull오픈소스 기여 플로우 (Fork + PR)
다른 사람의 프로젝트에 기여할 때는 Fork → Clone → 작업 → PR 순서를 따릅니다.
| 단계 | 설명 |
|---|---|
| 1. Fork | 원본 저장소를 내 계정으로 복사 |
| 2. Clone | 포크한 저장소를 로컬에 복제 |
| 3. 작업 | 브랜치 생성 → 코드 수정 → 커밋 |
| 4. Push | 내 원격 저장소에 업로드 |
| 5. PR | 원본 저장소에 변경 반영 요청 |
개발 협업의 전체 플로우
브랜치를 파고 → 작업하고 → PR을 만들어 리뷰받고 → 승인 후 merge. 이것이 현대 소프트웨어 개발의 표준 협업 프로세스입니다.