함수 계약

숨은 상태 없이 입력과 출력으로 약속한다

함수 라이브러리는 어디서든 호출되므로, 필요한 값과 실패 가능성을 핀 구조 안에서 읽을 수 있어야 합니다.

input

Inputs

Actor, Row Name, Save Slot처럼 함수가 의존하는 값을 호출자가 넘깁니다.

guard

Validate

None, 빈 이름, 범위 오류를 먼저 걸러 Access None을 줄입니다.

work

Calculate

거리 계산, 테이블 조회, 문자열 포맷처럼 재사용 로직만 둡니다.

output

Return

결과 값과 성공 여부를 출력 핀으로 분리해 호출부가 분기합니다.

작성 전에 확인할 네 가지 규칙

Pure 후보

같은 입력이면 같은 출력인지 확인합니다.

변수 없음

함수 라이브러리 내부 상태에 기대지 않습니다.

Context 입력

World나 Player가 필요하면 핀으로 받습니다.

이름 명확

동사와 대상이 보이는 이름을 씁니다.