Function design

함수 입력과 반환 타입은 데이터 흐름의 경계를 만든다

입력은 함수가 믿을 수 있는 최소 조건이고, 반환은 호출자가 믿을 수 있는 결과 약속이다.

Input
외부에서 들어오는 값의 범위를 제한
Transform
함수 내부에서 가능한 연산을 결정
Output
다음 코드가 기대할 결과 형태를 고정
Callback
다른 함수에 넘길 때도 같은 계약을 유지
신호대응
명시가 필요한 때공개 API, 복잡한 반환, callback 경계
추론을 믿어도 되는 때가까운 지역 함수와 단순 표현식
판단읽는 사람이 입력→출력을 바로 추적할 수 있어야 함

핵심 좋은 함수 타입은 구현 코드를 다 읽기 전에 데이터 경계를 알려준다.