본문 바로가기

개발관련

함수형 스타일 ( functional-style )


함수형 프로그래밍 ( functional-programming )

- 코드를 작성할 때 함수를 사용하는 프로그래밍 방식을 말함

- 대표적인 함수형 프로그래밍 언어 : lisp, haskell

[reference]

http://en.wikipedia.org/wiki/Functional_programming 


함수형 스타일 ( functional-style ) 로 작성할 경우 지켜야 할 것

* 함수는 같은 인자가 주어지는 한 항상 같은 결과를 반환한다. ( referential transparency )

* 함수는 상수로 지정한 것이 아니라면 함수 밖에서 정의된 변수를 참조하지 않는다.

* 함수는 어떤 변수도 수정하지 않는다.

* 함수의 목적은 오직 결과를 반환하는 것 뿐이다.

* 함수는 외부에 노출되는 어떠한 일도 수행하지 않는다.

* 함수는 키보드나 하드디스크 같은 외부 자원에서 정보를 읽어오지 않는다.

가장 중요한 것은 referential transparency 와 immutability 이다.