포스트

[GitHub 100일 챌린지] Day 94 - 핵심 기능 개발 2

[GitHub 100일 챌린지] Day 94 - 핵심 기능 개발 2

100일 챌린지 Day 94 - 두 번째 핵심 기능을 추가하면서 충돌을 줄이고 리뷰하기 쉬운 Pull Request를 준비합니다.

배울 내용

  1. 첫 번째 기능 위에 두 번째 기능을 안전하게 얹는 법
  2. PR 본문에 구현 의도와 검증 결과를 남기는 법
  3. 셀프 리뷰로 실수를 줄이는 법

1. 두 번째 기능 고르기

Day 93에서 프로젝트 목록을 만들었다면, Day 94에서는 그 기능을 보완하는 작은 기능을 추가합니다.

예시:

1
2
3
기능: 프로젝트 필터

사용자는 기술 스택을 선택해 React, Python, Docker 프로젝트만 따로 볼 수 있다.

두 번째 기능은 첫 번째 기능과 연결되어야 하지만, 너무 커지면 안 됩니다. “검색 + 필터 + 정렬 + 페이지네이션”을 한 번에 하지 말고 오늘은 필터 하나만 끝냅니다.


2. 최신 main 반영하기

작업을 시작하기 전에 원격 변경을 반영합니다.

1
2
3
git switch main
git pull
git switch -c feature/94-project-filter

이미 Day 93 브랜치에서 이어서 작업한다면 main에 머지된 뒤 새 브랜치를 만드는 편이 가장 깔끔합니다. 아직 머지되지 않았다면 Day 93 브랜치 위에서 이어가되, PR 설명에 의존 관계를 명확히 적어야 합니다.


3. 구현 전 체크리스트 작성하기

구현 전에 작업 순서를 적어둡니다.

1
2
3
4
5
6
## 구현 순서
- [ ] 프로젝트 데이터의 `stack` 필드 확인
- [ ] 필터 버튼 UI 추가
- [ ] 선택된 기술 스택 상태 관리
- [ ] 필터링된 목록 렌더링
- [ ] 빈 결과 메시지 처리

이 체크리스트는 Issue 본문이나 PR 본문에 그대로 옮길 수 있습니다. 개발 중 길을 잃지 않게 해주는 작은 지도입니다.


4. PR 본문 작성하기

PR은 “코드를 봐주세요”가 아니라 “이런 문제를 이렇게 해결했습니다”라고 설명하는 공간입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
## 변경 사항
- 프로젝트 목록에 기술 스택 필터를 추가했습니다.
- 선택된 필터가 없으면 전체 프로젝트를 보여줍니다.
- 결과가 없을 때 안내 문구를 표시합니다.

## 검증
- [ ] 전체 프로젝트 목록 표시 확인
- [ ] React 필터 선택 시 React 프로젝트만 표시
- [ ] 없는 스택 선택 시 빈 결과 메시지 표시
- [ ] 모바일 화면에서 버튼 줄바꿈 확인

## 관련 Issue
Closes #94

PR 본문이 자세할수록 리뷰어의 부담이 줄고, 나중에 변경 이유를 추적하기도 쉬워집니다.


5. 셀프 리뷰하기

PR을 열기 전 직접 diff를 봅니다.

1
2
git diff main...HEAD
git diff --stat main...HEAD

셀프 리뷰에서는 아래를 확인하세요.

  • 디버깅용 console.log가 남아 있지 않은가?
  • 기능과 무관한 파일이 섞이지 않았는가?
  • 변수명과 컴포넌트명이 의미를 잘 드러내는가?
  • README나 사용법이 필요한 변경인가?
  • 모바일/빈 상태/오류 상태를 처리했는가?

리뷰어에게 넘기기 전에 내가 먼저 한 번 읽는 습관이 PR 품질을 크게 올립니다.


정리

완료 체크:

  • 두 번째 핵심 기능을 작은 범위로 정의했다
  • 새 브랜치에서 기능을 구현했다
  • PR 본문에 변경 사항과 검증 목록을 적었다
  • git diff main...HEAD로 셀프 리뷰를 했다

핵심 요약:

1
두 번째 기능은 첫 번째 기능을 보완하되, 작은 PR로 리뷰 가능한 크기를 유지한다.

다음: Day 95 - 테스트 작성


← Day 93 | 전체 커리큘럼 | Day 95 →

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