Programming

[Programming] 함수형 프로그래밍에 대하여

MB Brad KWON 2017. 7. 4. 17:22

향후 함수형 프로그래밍에 대한 이해는 이 포스팅에 작성합니다.




  • 함수형 프로그래밍에서 고차함수나 재귀를 자주 쓰는 이유 : 함수형 프로그래밍은 외부의 영향을 받지 않는 순수함수 사용을 지향한다. 이유는 순수함수 여야만 분산 프로그래밍 시스템에서 데이터의 신뢰성을 보장 하는 함수형 프로그래밍의 가치를 살릴 수 있기 때문이다. 그래서 반복문을 사용할 때, for, while 같은 loop문을 사용하는 것 보단 외부에서 가져온 변수를 스택에 저장하고 이를 참조하는 재귀함수를 쓴다. 이는 스택 영역에 복사된 데이터를 참조하기 때문에 외부 변수나 State에 의해 데이터 신뢰성이 파괴 되는 행위를 방지할 수 있다.

  • 중간 변수를 캐시하는 방법 : 재귀를 사용하여 연속으로 함수를 호출하는 상황에서 중간과정에서 계산한 값을 사용해야할 때가 있다. 중간에 계산된 값은 재귀를 호출하는 구문에서 변수를 지정하여 스택에 저장한 다음, 역호출할 때 사용할 수 있도록 한다.

  • 복합형 데이터 : 여러 값을 동시에 참조하거나 사용할 때가 있다. 이 때는 튜플이나 enum을 이용한 패턴 매칭을 사용하자.
    • 튜플 : 함수를 이용한 복합 데이터 구조가 단일 구조일 때 사용한다. 데이터 쌍으로 전달할 수도 있고, 각 데이터에 임의의 이름을 지정할 수도 있다.
    • enum : 함수를 이용한 복합 데이터 구조가 2개 이상일 때 사용한다. 데이터 구조 타입별로 enum case를 구현한다. switch-case를 사용한 패턴 매칭으로 데이터를 추출하여 사용한다.

  • 의미 있는 상수의 사용 : 변수는 말 그대로 변화하는 값이다. 변화하는 값은 로직의 변화를 유발하거나 데이터의 신뢰성을 저해한다. 그러므로 변수의 사용을 최소화하고, 사용가능 하고 유의미한 상수를 사용하도록 한다.