결정 규칙 작성하기

좋은 Vouch 후보는 작고 결정적인 판단입니다. 입력이 명시되어 있고, 검사 프로필 소스가 안정적이며, 출력을 점검할 수 있어야 합니다.

실행으로 확인하기

LISPEX
(define (refund-decision days opened?)
  (if (and (<= days 14) (not opened?))
      '(decision allow)
      '(decision deny outside-refund-window)))
(refund-decision 9 #f)

관측 결과

OUTPUT
(decision allow)

패턴 따라가기

  1. 모든 입력에 이름을 붙입니다. daysopened?는 평범한 데이터로 들어옵니다. 규칙은 어디에서도 값을 몰래 찾아오지 않습니다.
  2. 경계를 눈에 보이게 합니다. <=로 14일을 받아들이므로 처음 거부되는 날은 15일입니다.
  3. 이름 붙은 데이터를 반환합니다. 결과는 결정을 밝히고, 거부라면 애플리케이션이 검사할 이유도 함께 밝힙니다.

이 순서로 생각하세요

  • 호스트 데이터 변환은 규칙 밖에서 끝냅니다. 검사 프로필에 넘긴 정확한 datum을 고정하세요.
  • 해석 방법을 애플리케이션이 문서로 남긴 작은 값을 반환합니다. 그리고 승인 경계와 거부 경계를 모두 테스트합니다.
  • 소스와 입력 코퍼스, 영수증은 함께 버전을 매깁니다. 그래야 재생의 분모가 분명해집니다.
  • 결정 규칙이 안정되고 결정적인 시각 운반 형식이 필요하면, 검토한 정확한 바이트를 리스펙스 이미지로 만드세요. 검토와 버전 관리에는 일반 소스를 계속 사용하세요.

직접 확인하기

(refund-decision 14 #f), (refund-decision 15 #f), (refund-decision 9 #t)는 각각 무엇을 반환해야 할까요?

경계값은 (decision allow)입니다. 15일과 개봉 상품은 모두 (decision deny outside-refund-window)를 반환합니다.

흔한 오해

결정 영수증은 비즈니스 정책 자체의 공정성·정당성을 판단하지 않습니다.

다음으로

첫 프로젝트 수업에서 이 규칙을 처음부터 만들고 시험하세요. 리스펙스 이미지는 의미를 바꾸지 않고 검토한 정확한 소스를 전달합니다.

첫 결정 규칙 · 리스펙스 이미지