순수 함수의 조건

  1. 사이드 이펙트를 만들지 않아야 함. → 함수 외부의 상태를 변경해선 안된다.
  2. 항상 같은 인풋에 같은 결과를 내야함. → 상황에 따라 결과가 달라지면 안된다.

사이드 이펙트란?

왜 순수함수를 사용해야 하는가?

1. 가독성

사이드 이펙트는 코드를 읽기 힘들게 만든다. 동일한 인풋임에도 불구하고 상황에 따라 결과가 달라질 수 있기 때문에 이게 왜 이런 결과가 만들어졌는지 이곳 저곳을 살펴야 할 수 있다. 이말은 즉, 코드를 유지보수하기 어렵게 만든다는 말과도 같다.

<aside> 💡 순수함수는 컨텍스트와 관계없이 동작하기 때문에 가독성이 좋다.

단지 필요한 값들을 매개변수로 받을 뿐이며, 어플리케이션의 상태를 필요로하지 않는다.

</aside>

2. 테스트 하기 좋음

순수함수는 같은 인풋엔 같은 결과가 나오기 때문에 단위 테스트를 작성하기가 다른 함수에 비해 간편하다.