쏙쏙 들어오는 함수형 코딩 - 심플한 코드로 복잡한 소프트웨어 길들이기
에릭 노먼드 지음, 김은민 옮김 / 제이펍 / 2022년 4월
평점 :
장바구니담기


요약

먼저 이책은 함수형 코딩에 대해 설명하지만 어려운 함수형 언어를 대신해 javascript 를 가지고 어떻게 코딩하면 좋은지를 소개하는 책이다.

javascript 만 가지고도, 충분히 함수형 코딩에 대해 이해할수있게 만들어준 책이고, 함수형 코딩이라는 정의가 특정언어를 지칭한다고 보기보단, 디자인패턴에 좀더 가까웠다.

함수형 프로그래밍이란

책에서 정의하는 함수형 프로그램이란 아래와 같이 설명하고 있다.

부수효과 : 함수라 리턴값 이외에 하는 모든일을 말한다.

순수 함수 : 인자에만 의존하고 부수효과가 없는 함수이다.

이책을 읽는 기본원칙

이책에서는 함수형 프로그래밍 의 세계는 방대하기 때문에 모든 지식을 다 배우기는 힘들다라는 애기를 하고 있다.

따라서 아래 원칙을 애기한다.

특정언어 기능에 의존하지 않아야 한다

실용적이라 바로 쓸수 있어야 한다

현재 가지고 있는 코드와 관계없이 쓸수 있어야 한다

계층형 설계 원칙

액션 : 호출횟수와 시저메 의존하는것

계산 : 어떤것을 결정하거나 계획하는 것

데이터 : 변경 불가능한 데이터를 가능한 많이 쓰려고 하는것


액션에서 계산빼내기


결국 여러 동작을 취하던 코드를 리팩토링하여 계산과 액션을 구분하여 사용하도록 권장하고 있다.

원래 코드에서 계산부분을 새로운 함수로 지정하여 분리한다.

이와 같은 방식을 서브루틴 추출하기 라고 한다.


계층형 설계 패턴

크게4개의 패턴을 설명하고 각장에서 패턴의 지식들을 설명한다.


타임라인 격리하기

타임라인이란 빠르게 클릭하였을대 액션이 예상과는 다르게 일어나는 경우 버그를 줄일수있는 방법을 설명하고 있다.

책에서는 전역변수를 줄임으로써 많은 자원이 공유되는것 자체를 배제하는 방법을 권하고 있다.


반응형 아키텍처와 어니언 아키텍처

반응형 아키텍처는 코드에 나타난 순차적 액션의 순서를 뒤집고 아래순서를 참고한다.

  1. 원인과 효과가 결합된것을 분리한다.

  2. 여러 단계를 파이프 라인으로 처리한다.

  3. 타임라인이 유연해진다.

책의 장점

책이 500페이지 넘도록 방대한 양을 담고있고, 현업개발자들이 한단계 더 승격할수있는 내용을 담고 있다.

틈틈히 읽어두고 실무에 반영한다면 누구보다 좋은 코드를 만들수 있을것이다.

책의 단점


번역서다보니, 예제코드를 페이지번호와 영어이름 그대로 소스를 제공한다.

문제는 저기 페이지번호가 번역서랑은 안맞다. 좀 찾기 어려운점이있어, 감안하고 봐야된다.

예제코드는 그렇게 중요하지는 않고 본문이 중요하니 그점 참고해서 보면 좋을것 같다.

추가자료 : grokkingsimplicity.com

예제코드 : https://www.manning.com/downloads/2263


"제이펍으로 부터 제공받은 책으로 작성된 리뷰입니다."





댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo