Validation

유효 타입 생성 게이트

외부 입력을 바로 필드에 넣지 않고 생성자에서 검증하면, 이후 코드는 이미 안전한 타입만 다루게 된다.

검증을 타입 경계에 모으는 방식

constructor gate

원시 입력

문자열, 숫자, 요청 값처럼 아직 믿을 수 없는 값이다.

생성 함수

new나 try_from에서 범위, 형식, 불변식을 검사한다.

안전 타입

검증을 통과한 값만 구조체 내부에 저장한다.

오류 반환

잘못된 값은 Result의 Err로 이유를 돌려준다.

raw input validate Ok(SafeType) 사용 Err(reason)
읽는 법

불변식은 사용하는 곳마다 반복해서 검사하기보다 타입 생성 순간에 한 번 막아두는 편이 Rust다운 설계다.