bibimbap/.atp/work-session/20260624-100749/implementation/W2-6-ownership.md

3.0 KiB

phase agent agent_version generated_at workstream
implementation implementation-advisor 1 2026-06-24T12:30:00+09:00 W2-6-시상 집계/결과

파일 소유권 맵 — W2-6 시상 집계

설계 대비 구체화 결정 (concern 해소)

  • JamVoteCountMapper 신규 생성 안 함(설계 concern "JamVoteCountMapper vs W2-5 JamVotesMapper 재사용 — 구현 시 협의"). 기존 JamVotesMapper.listCountsByJam(jamId)(W2-5, 이미 SELECT game_id AS "gameId", COUNT(*) AS "voteCount" ... GROUP BY game_id ORDER BY COUNT(*) DESC, game_id ASC + 큰따옴표 alias + @MockBean 등록됨)를 POPULAR 트랙 소비로 재사용. → 신규 매퍼 2개(JamAwardsMapper/JamReviewRatingMapper), 신규 @MockBean 2건.
  • JamScoreStatsMapper.listStatsByJam(jamId) 기존(W2-4, weighted_total DESC NULLS LAST 큰따옴표 alias) 재사용 — JUDGE 트랙. 신규 매퍼 0.
  • JamReviewRatingRow/JamVoteCountRow POJO 생성 안 함 — 집계 소비는 기존 패턴(JamScoreStatsMapper/JamVotesMapper)대로 List<Map<String,Object>>. inflate 방지.

의존 순서 (배치)

  1. 배치1 (AW-DOMAIN 기반 — 의존 없음, 병렬): JamAwardData POJO, AwardTrack enum, JamReviewRatingMapper(독립 신규 매퍼)
  2. 배치2 (advisor 직접 — 의존 코어): JamAwardsMapper(JamAwardData 의존), RankScores 유틸, JamAwardService(전 의존)
  3. 배치3 (컨트롤러/JSP/수정/테스트 — 병렬): JamAwardAdminController, JamAwardController, jam-results.jsp, JamController(수정), jam-detail.jsp(수정), BibimbapApplicationTests(수정), 3 테스트
파일 담당 id 변경 의존
data/JamAwardData.java code-writer w-001 create -
jam/AwardTrack.java code-writer w-002 create -
mapper/JamReviewRatingMapper.java code-writer w-003 create -
mapper/JamAwardsMapper.java advisor 직접 - create w-001
jam/RankScores.java advisor 직접 - create -
jam/JamAwardService.java advisor 직접 - create
controller/JamAwardAdminController.java code-writer w-004 create service
controller/JamAwardController.java code-writer w-005 create mapper
WEB-INF/views/jam-results.jsp code-writer w-006 create -
controller/JamController.java code-writer w-007 modify mapper
WEB-INF/views/jam-detail.jsp code-writer w-008 modify -
test/BibimbapApplicationTests.java code-writer w-009 modify mappers
test/jam/JamAwardServiceTest.java code-writer w-010 create service
test/controller/JamAwardAdminControllerTest.java code-writer w-011 create adminctrl
test/controller/JamAwardControllerTest.java code-writer w-012 create pubctrl

불변식: 동일 파일 1 worker. 의존 코어(JamAwardsMapper/RankScores/JamAwardService)는 상호 강결합 + 정규화 알고리즘 정밀도가 높아 advisor 직접 작성(병렬 이득 없음·실수 비용 큼). 나머지 12 파일은 의존 해소 후 병렬 worker.