Pure Function은 함수의 기능이 오직 입력값과 내부 로직에 의해서만 결정되기 때문에 무엇을 할지 쉽게 예측할 수 있고 쉽게 테스트 할 수 있습니다.
또한 외부 요소에 의해 영향을 받지 않기 때문에 프로그램의 동작이 어떤지 쉽게 유추하게 해줍니다.
Pure functions는 functional programming에서 자주 쓰입니다.
concurrent and parallel programming에서도 유용합니다.
아래는 Pure Functions가 따르는 기준입니다.
입력값을 받고 값을 반환합니다.
시스템의 상태를 바꾸거나 다른 외부 요소와 상호작용을 하는 것과 같은 사이드 이펙트를 일으키지 않습니다.
같은 입력값에 대해 언제나 같은 값을 반환합니다.
Pure Functions의 scope가 아닌 외부의 변수나 상태에 의존하지 않습니다.