설계 문서를 테스트로 강제하기, spec.yaml과 spec-check
·
IT
설계 문서는 쓰는 날이 가장 정확하고 그 뒤로 매일 틀려간다. 코드는 바뀌는데 문서는 안 바뀌기 때문이다. 이 글은 개인 프로젝트의 설계 문서를 "읽는 문서"에서 "실패하는 테스트"로 바꾼 방법을 다룬다. 규격을 YAML 한 파일에 두고, 코드가 그 규격에서 벗어나면 명령 하나가 exit 1을 내게 했다. 문서를 성실하게 갱신하겠다는 다짐보다, 갱신하지 않으면 커밋할 수 없는 구조가 오래간다.문서와 코드가 어긋나면 어긋난 쪽을 알 수 없다자동화 파이프라인이 새벽에 조용히 실패했을 때 가장 먼저 여는 것은 설계 문서다. 어느 단계가 무엇을 받아 무엇을 내는지, 어떤 규칙이 발행을 막는지. 그런데 문서에 적힌 검수 규칙이 아홉 개이고 코드에는 열두 개라면, 문서를 읽어서는 원인을 못 찾는다. 코드를 읽어야 ..