[디프만 13기 X 인프런] 함수형 프로그래밍과 JavaScript ES6+ 스터디 회고

Benza·2023년 5월 23일
0

🔎

목록 보기
11/11

디프만 13기 X 인프런

왜 함수형 프로그래밍 스터디를 선택했나?

실력있는 프론트엔드 개발자란 무엇인지 명확하지 않았다. 빠르게 요구사항을 개발하는 개발자인가? 다양한 라이브러리 사용에 능숙한 개발자인가?

그래서 CTO님께 실력있는 프론트엔드 개발자의 기준을 물어봤었다. CTO님은 프론트 개발을 메인으로 하시지는 않으셨지만 뛰어난 동료 중에 한 분으로 함수형 프로그래밍을 기가 막히게 하는 사람을 말씀하셨었다.

함수형 프로그래밍이 왜 중요할까? 도대체 무엇이 이점이 있을까 궁금했다.

마침 활동하고 있는 개발 동아리인 디프만에서 인프런에 지원을 받아 다양한 스터디가 생겼고, 그중 함수형 스터디도 개설되어 1빠로 신청했다.

스터디를 하며 얻은 것

스터디를 하면서 알게 된 함수형 프로그래밍의 특징은 다음과 같다.

함수는 일급이다.

즉, 값으로 사용될 수 있다. 다른 값과 마찬가지로 변수에 할당할 수 있고 함수의 인수로 사용할 수 있으며 함수의 반환 값으로 사용할 수 있다.

함수를 통해 관심사를 분리할 수 있다.

각 기능을 함수로 구분 짓다 보면 자연스럽게 좋은 구조를 만들 수 있고, 선언적인 패턴으로 코드를 작성할 수 있다.
이로인해 테스트하기 쉽고, 유지보수하기 쉬운 코드를 작성할 수 있다.
이를 코드로 구현하기 위해 go, pipe, curry 등의 구현법을 익혔다.

성능을 높일 수 있다.

iterable 프로토콜과 generator를 사용하여 코드의 흐름을 제어하여 코드의 성능을 높일 수 있다.

앞으로는 어떻게 개발할 것이다.

실무에서 어떻게 쓰일 수 있는지 고민이 된다. TEO님의 함수형 프로그래밍에 관한 글을 읽으면서 어느 정도 답을 찾았으나, 팀에서 도입하고, 함수형 사고를 하면서 함수형 코드를 작성하는 것은 현실화 하기가 쉽지는 않은 문제라는 것을 알게 되었다.

그러나 상태관가 용이해야하고, 다양한 함수의 조합, 코드의 가독성을 챙기기 위해선 유지보수성, 테스트 효율성, 선언적인 코드 작성이라는 장점을 가진 함수형 프로그래밍을 사용하는 방법을 딥하게 알 필요가 있다는 것을 느꼈다.

profile
Understanding the impression

0개의 댓글