[함수형 코딩] 4장. 액션에서 데이터 빼기

셀레스틴 허·2022년 7월 10일
0

BOOKS

목록 보기
2/2
post-thumbnail

함수에 암묵적 입력 & 출력이 있으면 액션이 된다

  • 함수에서 암묵적 입력 & 출력을 없애면 계산이 된다
  • 함수형 프로그래머에서 암묵적 입력 & 출력을 부수효과라고 부른다
    • 부수효과: 함수가 하려고 하는 주요기능(리턴값 계산하는 일) 아닌 것
      ex) 전역 변수를 읽는 것은 암묵적 입력, 바꾸는 것은 암묵적 출력

액션에서 계산 빼기

  • 서브 루틴 추출
  • 전역 변수를 인자로 받게 한다 (암묵적 입력 => 명시적 입력)
  • 전역 변수를 바꾸지 않고 복사본을 만들어 복사본에 새로운 값을 추가하고 리턴한다
    • copy-on-write 방법 - 불변성을 구현하는 방법 중 하나

계산 추출 단계

  • 계산 코드를 찾아 뺀다
  • 새 함수에 암묵적 입력 & 출력을 찾는다
    • 입력: 함수를 부르는 동안 결과에 영향을 줄 수 없는 것 - 인자를 포함해 함수 밖에 있는 변수를 읽거나 데이터베이스에서 값을 가져오는 것
    • 출력: 함수 호출 결과로 영향을 받는 것 - 리턴값을 포함해 전역 변수/공유 객체를 바꾸거나 웹 요청을 보내는 것
  • 암묵적 입력은 인자로, 암묵적 출력은 리턴값으로 바꾼다
    • 인자 & 리턴값을 바뀌지 않는 불변값이라는게 중요
profile
Software Developer / 고통은 필연, 괴로움은 선택

0개의 댓글