-
Notifications
You must be signed in to change notification settings - Fork 53
[1팀 강승훈] Chapter 1-2. AI와 테스트를 활용한 안정적인 기능 개발 #92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
seunghoonKang
wants to merge
25
commits into
hanghae-plus:main
Choose a base branch
from
seunghoonKang:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- 1-기능설계: API 구조 파악 단계 추가, API 설계 섹션 추가 - 2-테스트설계: API 테스트 전략, Mock 계획 섹션 추가 - 3-테스트작성: API Mock 설정 가이드 추가 - 4-코드작성: API 구조 파악 단계 추가 (벌크/시리즈 API 설명) - 5-리팩터링: API 호출 최적화 검토 항목 추가 - README: 백엔드 API 구조 섹션 추가
- 2-테스트설계: 테스트 네이밍 규칙 섹션 추가, 품질 체크리스트 업데이트 - 3-테스트작성: 테스트 네이밍 규칙 섹션 추가, 예시 한글로 변경, 검증 항목 업데이트 - README: Kent Beck TDD 원칙에 테스트 네이밍 규칙 추가 규칙: - describe: 영어 사용 (함수/클래스명) - it/test: 한글 사용 (무엇을 테스트하는지 명확하게)
- 3-테스트작성: RED 단계로 명확히 정의, 내부 프로세스 구조 변경 - "검증"은 TDD 단계가 아닌 RED 내부 품질 확인 프로세스 - Step 1: 테스트 코드 작성 - Step 2: 품질 검증 (자체 검토) - Step 3: 테스트 실행 및 실패 확인 (RED 완성) - 4-코드작성: GREEN 단계로 명확히 정의 - 테스트를 통과시키는 최소 구현 - RED → GREEN 완성 - 5-리팩터링: REFACTOR 단계로 명확히 정의 - 코드 개선 (테스트 계속 통과) - RED → GREEN → REFACTOR 완성 - README: TDD 사이클 워크플로우 다이어그램 업데이트 - 각 에이전트의 TDD 단계 명시 - 🔴 RED → 🟢 GREEN → 🔵 REFACTOR Kent Beck의 TDD 사이클을 정확히 따르도록 구조 개선
- 1-기능설계: Step 2에 기존 Hooks/Utils 확인 단계 추가 - src/hooks/ 5개 파일 목록 명시 - src/utils/ 6개 파일 목록 명시 - 재사용 가능한 리소스 확인 필수화 - 2-테스트설계: Step 1.5 기존 리소스 파악 추가 - 테스트 설계 전 기존 함수/훅 확인 - recurrenceUtils.ts 등 활용 예상 명시 - 4-코드작성: 기존 리소스 철저히 확인 섹션 추가 ⭐ - Step 1.3.1: 기존 Hooks 확인 (매우 중요) - Step 1.3.2: 기존 Utils 확인 (매우 중요) - 기존 리소스 우선 활용 원칙 명시 - 중복 구현 방지 강조 - 5-리팩터링: 프로젝트 리소스 활용 섹션 대폭 강화 ⭐ - 기존 Hooks/Utils 활용 확인 체크리스트 - 실제 프로젝트 예시 추가 (dateUtils, eventOverlap, timeValidation) - 중복 코드 탐지 가이드 - README: 기존 리소스 섹션 추가 - Hooks 5개, Utils 6개 파일 목록 - "중복 구현 방지와 일관성 유지" 강조 프로젝트에 이미 구현된 hooks와 utils를 최대한 활용하여 코드 중복을 방지하고 일관성을 유지하도록 에이전트 가이드 개선
- T-001: saveRecurringEvents - 반복 인스턴스 일괄 생성 - T-002: updateRecurringSeries - 반복 시리즈 전체 수정 - T-003: deleteRecurringSeries - 반복 시리즈 전체 삭제 - T-004: saveEvent - 단일 수정 시 repeat.type 변환 Mock 핸들러 추가: - setupMockHandlerRecurringCreation - setupMockHandlerRecurringUpdate - setupMockHandlerRecurringDelete - setupMockHandlerSingleUpdate
- T-201: saveRecurringEvents API 실패 시 에러 스낵바 표시 - T-202: updateRecurringSeries 404 에러 처리 - T-203: deleteRecurringSeries 404 에러 처리 - T-204: repeat.id 없는 반복 일정 처리 모든 에러 상황에서 적절한 사용자 피드백 제공
- T-101: 반복 일정 생성 전체 흐름 - T-102: 반복 아이콘 표시 - T-103: 수정 다이얼로그 - 단일 수정 - T-104: 수정 다이얼로그 - 전체 수정 - T-105: 삭제 다이얼로그 - 단일 삭제 - T-106: 삭제 다이얼로그 - 전체 삭제 - T-107: 단일 일정 다이얼로그 미표시 - T-206: 반복 일정 겹침 검사 제외 사용자 인터랙션 전체 워크플로우 검증
- T-205: 반복 종료일 최대값 제한 (2025-12-31) 반복 종료일 input의 max 속성 검증
- 작성된 테스트: 17개 (Phase 1~4 완료) - Mock 핸들러 4개 추가 - 구현 가이드 및 우선순위 제공 - 주의사항 및 참고 코드 명시 다음 에이전트: 4-코드작성
- types: RepeatInfo에 id 필드 추가 - hooks: saveRecurringEvents, updateRecurringSeries, deleteRecurringSeries 구현 - ui: 반복 일정 생성 폼 (유형, 간격, 종료일) 추가 - ui: 반복 일정 아이콘 표시 - ui: 수정/삭제 다이얼로그 (단일/전체 선택) 구현 - logic: 반복 일정 생성 시 겹침 검사 제외 - test: Hook 테스트 15개 통과 (Phase 1-4) TDD GREEN 단계 완료
- 단일 삭제/수정 시 스낵바 메시지를 '일정 삭제 완료', '일정 수정 완료'로 통일 - 반복 체크박스 클릭 시 repeatType을 'weekly'로 초기화하여 MUI Select 에러 해결
- 반복 설정 필드 찾기 방식 개선 * getByLabelText가 작동하지 않아 document.getElementById로 직접 요소 찾기 * 반복 유형, 반복 간격, 반복 종료일 입력 필드 접근 방식 변경 - 수정/삭제 테스트 검증 로직 개선 * event-list 내에서만 확인하도록 수정하여 정확도 향상 * 비동기 작업 완료 대기 시간 추가 (200-300ms) - 테스트 결과: 24개 테스트 모두 통과
- 긴 줄을 여러 줄로 나누어 prettier 규칙 준수 - document.getElementById 체이닝 및 find 함수 포맷팅 개선
- 주 뷰와 월 뷰에서 반복 일정을 Repeat 아이콘으로 구분하여 표시 - 반복 일정이 아닌 경우 아이콘 표시하지 않음 - event-list와 동일한 방식으로 반복 일정 구분 가능
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
과제 체크포인트
필수 스펙
기본 과제
공통 제출
기본 과제(Easy)
기본 과제(Hard)
심화 과제
과제 셀프회고
1. 발제 후
2. 과제 준비
3. 과제 시작
4.작성하다보니 잘하는거같은데 너무 이상해서 배웠던 내용을 다시 참고하며 수정해야됨을 느껴, 내용을 참고하며 작성한 프롬프트 원문
작성하고 또 놓친게 없을 지 체크하다가, server.js 가 있는걸 확인하여, server.js가 API 명세 역할 한다는 걸 알려주어 수정했습니다.
또 놓친게 없나 수정된 md 파일을 읽다가, 테스트하는 내용 it( ~~~ 이 영어로 나오는 것을 확인. describe는 함수 같은걸 정의할 때가 있으니 어쩔수 없지만 it 부분은 한글로 작성해 명확히 읽어지길 요청했습니다.
다시 또 읽어보다가, 아 TDD의 순서가 RED-GREEN-REFACTOR의 반복인데 RED-검증-GREEN / REFACTOR로 작성하도록 요청한 것을 발견. 다시 RED-GREEN-REFACTOR의 순서로 요청. → 중간 살펴보니 커서도 RED-GREEN-REFACTOR의 순서가 더 명확함을 알고 수정하였습니다.
혹시나 싶어, 기존 hooks나 utils에도 공통된 내용이 많으니 사용해야 기존 형태를 잘 유지할 수 있을거라 했더니 그거에 대해 추가로 수정하게 됐습니다.
마지막으로, 오케스트레이터를 만들기 전 각자의 에이전트가 잘 돌아가는 지 확인하려 진행했는데, 테스트 한 부분에서 계속 막히게 된 안타까운 일이 발생하였습니다.
과제 후기