잘못된 추상화와 입력 조건 보존 - 개발 글 검토
개발 글 검토에서 기존 노트와 다른 두 주장을 골라 원문에 대조했다. 확인일은 2026-09-20이다.
잘못된 추상화에서 되돌아오기
Sandi Metz의 The Wrong Abstraction(2016-01-20)은 서로 다른 요구를 매개변수와 조건문으로 공유 코드에 계속 끼워 넣는 상황을 다룬다. 각 호출자로 코드를 돌려 놓고 불필요한 부분을 제거한 뒤, 실제로 남는 공통성을 다시 추출할 수 있다고 설명한다.
이 검토에서는 적용 조건을 서로 다른 개념의 변경 요구가 충돌하는 경우로 좁힌다. 분기의 개수만으로 잘못된 추상화라고 판정하거나 정당한 정책·변형 분기까지 제거하는 규칙으로 읽지 않는다.
검사에서 얻은 정보를 구조에 남기기
Alexis King의 Parse, don’t validate(2019-11-05)는 빈 목록을 검사한 뒤 일반 목록을 반환하는 경우와 비어 있지 않은 목록 타입을 반환하는 경우를 비교한다. 후자는 검사로 얻은 조건을 후속 코드가 사용할 수 있도록 보존한다.
검사를 없애는 주장이 아니라, 덜 구조화된 입력을 필요한 조건이 표현된 값으로 변환하는 설계다. 구조에 담지 않은 권한·저장소 제약·변동하는 외부 상태까지 보증한다는 해석은 하지 않는다.