일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- nextjs-performance
- 날짜 테스트
- Jest uuid syntax
- mutationobserver
- 과제 진행하기
- 프로그래머스
- 테스트 Date
- 리액트네이티브 엔진
- create-next-app
- 구름톤 챌린지
- Hermes Engine
- Leetcode #javascript #알고리즘 #Algorithms #js
- 구름톤
- 최솟갑 구하기
- mock date
- 연결 요소 제거하기
- 테이블 해시 함수
- 호텔 대실
- JavaScript
- jest
- 자바스크립트
- 귤 고르기
- 통신망분석
- 구름톤챌린지
- ResizeObserver
- Google 애널리틱스
- 리액트네이티브
- 헤르메스 엔진
- 중첩 점
- nextjs
- Today
- Total
나만보는개발공부블로그
FP & OOP 본문
Object Oriented Programming
- 장점
1. 객체의 기본개념을 이해하기 쉽고 메서드 호출의 의미를 해석하기 쉽다.
2. Declaritive보다는 imperative하다. -> 컴퓨터가 따라야할 간단한 설명서처럼 읽는다.
- 단점
1. 일반적으로 shared State에 의존성이 있다.
2. 객체와 동작들은 일반적으로 같은 entity에 묶여있고 임의의 함수에 의해 접근될 수 있으며 그게 에러를 만들어낼 수 있다.
Functional Programming
- 장점
1. 여러가지 함수들이 같은 자원에 대해서 에러를 낼 수 있는 shared State와 side-effect를 피한다.
2. point-free style(aka tacit programming)같은 특징을 가진다. -> 재사용 가능한 코드를 위해 함수가 근본적으로 단순화되고 쉽게 재구성되는 경향이 있다.
3. declarative하게 단계별로 설명되지않고 수행할 작업(what to do)에 집중하여 함수가 방법을 처리하도록 하는 경향.
->리팩토링 및 성능 최적화를 위한 여유를 남겨두고 코드변경이 거의 없이 전체 알고리즘을 효율적으로 대체할 수 있다.
(memoize, lazy evaluation in place)
4. pure function을 사용하는 계산은 threading resource 충돌, 여러 프로세서, 분산 컴퓨팅 클러스터에서 쉽게 확장 할 수 있다.
- 단점
1. point-free style처럼 과도하게 사용하면 코드가 추상적으로 짖어되고 간결하고 덜 구체적으기 떄문에 가독성이 떨어진다.
2. FP 학습 자료가 학문적이고 형식적인 경향이 있어서 배우기 어렵다 (람다 미적분, 대수학 등)
'Javascript&Typescript' 카테고리의 다른 글
Hoisting (0) | 2021.03.04 |
---|---|
Iterable & Iterator (0) | 2021.02.23 |
classical & prototypal inheritance in javascript (0) | 2021.02.22 |
Declarative and Imperative programming (0) | 2021.02.21 |
Closure (0) | 2021.02.19 |