34 lines
5.0 KiB
Markdown
34 lines
5.0 KiB
Markdown
# 개발·검증 기준
|
|
|
|
## 변경과 책임
|
|
|
|
작업 전에 아이의 행동, 입력 전 상태, 확정 결과, 무효 조작과 복원 결과를 합격 사례로 정한다. 새로운 놀이 규칙·저장 범위·플랫폼 범위가 필요한 변경은 사용자와 먼저 맞춘다. 모호한 조건을 코드로 먼저 굳히지 않는다. 승인된 동작을 만족하는 최소 변경을 하고 관련 없는 코드 정리·폴더 개편·프레임워크 추가를 섞지 않는다.
|
|
|
|
Core 어셈블리는 `noEngineReferences: true`와 빈 외부 참조를 유지한다. UnityRuntime은 Core를 호출하고 Editor 전용 API를 참조하지 않는다. 저장 구현은 Core가 선언한 인터페이스로 연결한다. Presenter·연출의 Transform 변경을 수학 상태 갱신 경로로 사용하지 않는다. Inspector 자산은 실행 중 읽기 전용이고 진행 저장과 혼합하지 않는다.
|
|
|
|
수학·진행 조작은 명시적 호출과 거부 결과로 처리한다. 예상 가능한 무효 선택을 예외나 앱 종료로 바꾸지 않는다. 시작 지점에서 구현을 직접 전달하고 임의의 전역 서비스 탐색을 추가하지 않는다. 새 추상화는 실제 두 번째 사용과 필요한 경계가 있을 때만 도입한다.
|
|
|
|
타입·메서드·공개 속성은 PascalCase, 지역 변수는 camelCase, 비공개 필드는 `_camelCase`로 맞춘다. 저장의 lowerCamelCase 필드는 공개 JSON 계약이므로 단순 스타일 변경으로 이름을 바꾸지 않는다. 필수 Inspector 참조와 패키지·어셈블리·공통 씬은 한 작성자가 연결하고 누락을 실제 초기화로 확인한다.
|
|
|
|
## 소스·자산·환경
|
|
|
|
Unity 버전과 패키지는 프로젝트 설정·manifest·lock 파일에 고정한다. 변경 이유와 호환성 확인 없이 업그레이드하지 않는다. 소스·자산과 Unity가 생성한 `.meta`를 함께 관리하고 씬·프리팹·메타데이터는 Unity의 편집·생성 경로로 수정한다. 캐시·APK·모델 가중치·가상환경·검사 녹음은 소스 커밋에 넣지 않는다.
|
|
|
|
자산 교체는 원본·편집본·런타임 파일과 출처·검수의 대응을 보존한다. 승인된 음성의 다른 바이트를 같은 승인으로 취급하지 않는다. 후보 생성 성공이나 WAV 존재는 발음 검수 통과가 아니다. 숫자·한글은 텍스트로 표시하며 AI 그림 안의 숫자를 수량 표시의 근거로 쓰지 않는다.
|
|
|
|
로컬 개발 기반은 `dev`다. 커밋은 변경 이유와 결과를 설명하고 사용자의 다른 변경을 되돌리지 않는다. 로컬 구현 승인과 원격 push·스토어 게시·유료 구매 승인을 구분한다. Unity Editor, 배치 검사, AVD 입력·녹음은 동시에 여러 작성자가 조작하지 않는다.
|
|
|
|
## 합격 판정
|
|
|
|
수학 상태·저장·입력 충돌 변경에는 재현 가능한 정상·무효·경계·복원 검사를 둔다. 수정 전 실패와 수정 후 성공을 가능한 같은 사례로 확인한다. 색·문구 같은 낮은 영향의 변경마다 구현을 복제하는 테스트를 추가하지 않는다.
|
|
|
|
완성 APK 판정은 통합 소스에서 EditMode, PlayMode, AndroidBuild, AndroidSmoke를 모두 실행해 실제 종료 0을 확인한다. 테스트 수가 0이거나 필수 사례가 실패·건너뜀·미확정이면 합격이 아니다. 명령, 실행 시각, 검사 수, 로그, 소스 커밋·전후 변경 유무를 함께 기록하고 APK SHA와 실제 설치본을 연결한다. 한 단계의 빌드 성공을 실행·이어하기 검증으로 대체하지 않는다.
|
|
|
|
정상 순차 진행 증거에는 완료 기록을 주입하지 않는다. 경계 검사용 상태 주입은 출처와 바꾼 필드를 표시하고 정상 진행 결과와 구분한다. 파일 검사·PCM 비교·직접 청취·화면 확인은 각각 실제 관찰한 범위만 주장한다. 검사가 실행되지 못했으면 원인과 미검증 결과를 남긴다.
|
|
|
|
Unity가 자동 변경한 설정을 정리할 때는 Git blob 일치 또는 확인된 생성 변환의 정확한 일치가 증명된 파일만 복원한다. 임의의 설정 차이를 일괄 되돌려 소스 상태 검사를 통과시키지 않는다. 검사 후 제품 코드나 자산이 바뀌면 영향을 받은 검사와 최종 빌드를 갱신한다. 문서만 바뀐 경우 제품 파일 동일성을 확인하고 문서 검토를 수행한다.
|
|
|
|
AVD·화면 시뮬레이터 결과를 실제 스마트폰·태블릿의 손가락 조작, 성능·발열·배터리, 학습 효과 검증으로 확대하지 않는다. 실제 기기와 아이 대상 검증의 합격 기준은 그 환경에서 측정·관찰할 수 있는 사례로 별도 정한다.
|
|
|
|
사용자가 기기 검증을 명시적으로 생략한 경우 실행한 검사와 생략한 검사를 따로 기록한다. 2026-10-11 지면·풍경·끌기 개선은 전체 EditMode·PlayMode와 AndroidBuild로 검증했으며 AndroidSmoke·기기 설치·정상30개 Android 진행은 생략했다. 이 예외를 APK 실행 검증 통과나 이후 작업의 상시 면제로 확대하지 않는다.
|