본문으로 건너뛰기

확정 · 게이트 · 절차

「검증 사용성과 어셈블리 출력」으로 돌아가기


10. 확정 사항과 미결 사항

확정내용
Unity 하한 6미만 버전 미지원. 사문 분기 삭제·게이트 교체·문서 명시까지 한 묶음
접미사 필수<테이블>Rules.cs 강제 + 구 명명에 안내 에러
개명 일괄 전환Validate(Context), 이중 지원 없음
출력 형식 배타소스 / 어셈블리 중 하나
규칙 컴파일 참조항상 임베드 세트 (환경 무차이)
규칙 파일의 using현행 유지 — 파일 상단에 명시적으로 적습니다. global usings를 도입하지 않습니다
접근자 객체화인스턴스 + 전역 헬퍼 병행, 검증은 context.Tables — 상세는 접근자 객체화
규칙 우선순위순차 스테이지 한정 · 티어 + 차단점 · 어트리뷰트 지정 + 조회 명령 — 상세는 규칙 우선순위
이름 체계정본 하나에서 언어별 표기로 파생 · AccessorName이 타입 이름을 정하게 — 상세는 생성 코드의 이름 체계
미결선택지권고
API 분리 방식 (5a)물리 분리 / ref asm 동봉물리 분리 — 단 Context 의존 실측 후 확정
계약 어셈블리 이름생성 코드의 이름 체계 §3에서 함께 확정
.generated 중간 정책소스 커밋 전환 / 비커밋 유지7단계까지의 기간에 따라
옵션 형태 (7단계)bool / enum 문자열선례 일관성 기준
접근자 객체화 세부 (6단계)시임 귀속 등 4건. 이름은 9단계에서 함께 정합니다접근자 객체화 §5에서 확정
스테이지별 컨텍스트pre/가 쓸 수 없는 멤버를 타입에서 빼는 안접근자 객체화 §3.1에 기록. 6단계와 같은 주기에 할지 미결
이름 체계 세부 (9단계)Rust·Python의 옵션 신설 여부 등 5건생성 코드의 이름 체계 §5에서 확정

11. 게이트 목록

게이트성격단계
템플릿 파일 무시 확인신설1
구 명명·구 엔트리 안내 에러신설2
Unity 심볼 조합 컴파일 (CsGeneratorTests)교체3
생성 코드 언어 수준 (EmittedCodeLanguageCheck)기준 변경 (C# 9)3
생성 공백 규칙 — 닫는 괄호 앞 빈 줄·연속 빈 줄 부재 단언신설 — 픽스처에 여러 줄 문자열 상수가 없는 동안 유효3
단일 파일 발행 후 검증 통과신설4
clone 상태 IDE 컴파일신설5
접근자 인스턴스 병행·전역 위임·원자 교체 검사신설6
netstandard2.1 컴파일 검사신설7
dll 로드·표면·데이터 왕복 검사신설7
티어 순서의 결정성 · 차단점 · 건너뛴 규칙 보고신설8
전 언어에서 액세서 이름이 타입·파일에 함께 반영되는지신설9
문서 예제 코드가 실제 산출물과 맞는지신설9

12. 절차

  • 1·2·8단계는 본 문서 승인 후 바로 착수 가능한 규모입니다. 3~7·9단계는 착수 시 본 문서의 해당 절을 기준으로 하되, 5a는 Context 의존 실측 결과를 이 문서에 반영한 뒤 구현합니다.
  • 템플릿·생성기를 건드리는 단계(3·6·7·9)는 골든 재기록 → 전 언어 비교본 재생성 → 샘플 재생성 → 기록 없이 재검증 순서를 지킵니다. 6과 9는 같은 주기에 묶습니다.
  • 4~7단계의 착수 순서는 로드맵의 「다음에 할 것」 표와의 배치 판단이 선행되어야 합니다 — 참조 어셈블리 임베드가 그 표의 기존 항목이므로, 본 계획이 표의 순서를 임의로 앞지르지 않습니다.

EOD