message code는 문장이 아니라 실패 의미를 이름 짓는다
번역 변경과 metric 집계에 견디도록 대상·행동·동적 값·adapter 범위를 분리해 안정적인 오류 taxonomy를 만든다.
대상
Namespace
postForm.title처럼 어느 입력 계약인지 드러낸다.
Code 조각
postForm·field
행동
실패 의미
required·range·order처럼 사용자가 고칠 규칙을 이름 짓는다.
Code 조각
required·range
동적 값
Argument 분리
최솟값·최댓값·현재 값은 code 문자열에 넣지 않는다.
전달
arguments 배열
Adapter
UI와 API 계약
화면용 code와 외부 API의 안정 code 범위를 구분한다.
결과
낮은 cardinality taxonomy
핵심: Message code가 완성 문장처럼 자주 바뀌면 번역 key도 metric 차원도 안정성을 잃는다.