반응형
참고자료
- 유튜브 노마드코더 채널 [반드시 "함수형 프로그래밍"을 알아야 할까?] => 링크
😎 개발자는 반드시 함수형 프로그래밍을 배워야 한다!
- '함수형 프로그래밍'은 코드 작성 '스타일'이라고 할 수 있다.
- 함수형 프로그래밍을 배우고 컨셉과 아이디어를 좋아한다면, 해당 개념을 좋아하는 언어에 적용할 수 있다.
- Clojure와 Scala는 함수형 프로그래밍으로 아예 설계된 언어이다.
- 배워두면 무슨 언어로 코드를 작성하든 도움이 된다!
- 이미 좋은 기술과 경력을 갖춘 시니어 개발자들은 점진적으로 함수형 언어를 사용하게 된다.
=> 점차 커리어가 발전함에 따라서 함수형 언어를 사용 - 함수형 방식에서는 버그 자체가 발생하기 어렵다.
=> 함수형 코드에서는 버그가 쉽게 숨겨지지도 않는다.
😀 함수형 프로그래밍은 일종의 새로운 사고방식을 배우는 것이다.
- 코드를 쓰고 설계하는 새로운 관점
- 배워두면 더 나은 개발자가 될 것이다.
- 니꼬쌤은 시작부터 함수형 프로그래밍에 따라 코딩을 쓰는 것이 더 깔끔하다고 생각
😶 명령형(imperative) 코드와 선언형(declarative) 코드의 차이
선언형 코드
Make em a sandwich 🥪
- 원하는 결과를 표현하기 위해 코드가 작성된다.
- 선언형 언어의 예시로 CSS가 있다.
- 선언형 코드는 원하는 결괏값을 선언하는 것이다.
- 필요한 것을 달성하는 과정을 하나하나 기술하는 것보다 필요한 것이 어떤 것인지 기술하는 데 방점을 두고
애플리케이션의 구조를 세워 나가는 프로그래밍 구조입니다.
선언형 코드 예시(JS)
function spaceToHeart(text) {
return text.replaceAll(" ", "💜");
}
- 명령 함수와 동일한 결과를 갖지만, 읽기가 더 쉽다
- 함수가 무슨 역할을 하는지 이해하기 편하다.
명령형 코드
1. 🍞 toast
2. 🧀 + 🍅 + 🥓 + 🥗
3. combine
4. done!!! 🥪
- 원하는 결과를 얻기 위해 필요한 지침에 따라 코드가 작성된다.
- 요구사항을 충족하는데 필요한 모든 단계를 하나씩 적어야 함.
- 명령형 프로그래밍은 무엇을 어떻게 할 것인가에 가깝다.
- 코드로 원하는 결과를 달성해 나가는 과정에만 관심을 두는 프로그래밍 스타일
명령형 코드 예시(JS)
function spaceToHeart(text) {
let result = ""; // 1. 최종 결과를 보유할 변수 선언 및 초기화
for (let i = 0; i < text.length; I++) { // 2. 지우려는 텍스트의 각 문자 내부의 살펴보기
if (text[i] === " ") { // 3. 문자가 공백인지 여부 체크
result += "💜"; // 4. 문자에 공백이 있다면 하트를 추가
} else {
result += text[i]; // 4. 문자에 공백이 없다면 text의 i번째 문자 추가
}
}
return result; // 5. 완료 후 결과 리턴
}
명령형 코드의 단점
- 코드가 길어진다.
- 요구사항의 구현이 개발자인 우리에게 달려있기 때문에 버그나 실수가 더 생길 수 있다.
- 팀 동료들이 이해하기 어려울 수 있다.
- 함수가 정확히 무엇을 하려고 하는지 한 줄 한줄 자세히 읽어야 한다.
🤔 느낀 점 혹은 생각
- 선언적 접근 방식이 읽기 쉽고 더 직관적이라고 느꼈습니다.
- 함수형 프로그래밍에 대해 1도 모르고 있었다는 것을 알게 되었습니다.
- 둘 다 공부를 하면서 작성했던 코드들이라는 것을 알게 되었습니다.
반응형
'프로그래밍언어 & 프레임워크 > JavaScript' 카테고리의 다른 글
[JS] PDF.JS 로 pdf를 이미지로 변환해서 보여주기 (0) | 2022.06.18 |
---|---|
[모바일]이미지 터치 슬라이더 및 자동 슬라이드 기능 구현(자바스크립트) (0) | 2022.05.12 |
Ajax 개념관련 정리가 잘 되어있는 사이트들 (0) | 2021.07.02 |
지역변수와 전역변수(자바스크립트, JavaScript) (0) | 2021.02.25 |
DOM에 대해 잘 정리되어 있는 사이트들(DOM이란?) (0) | 2021.02.16 |