Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 김영한쌤
- 오종택개발자님
- 클린코드다시읽기
- 생코님Redux
- 출처 : 자바스크립트 딥다이브
- 고등애플
- 나는 flux좋아...
- 로버트 C마틴
- 함수형 코딩
- 출처 : 코딩애플
- 갈길이 멀구나
- 쏙쏙 들어오는 함수형 코딩
- https://product.kyobobook.co.kr/detail/S000001952246
- 출처 : https://www.boostcourse.org/
- 큰돌의 CS책
- 에릭 노먼드
- 리엑트를 다루는 기술
- 에릭노이먼
- 이웅모
- 쏙속 들어오는 함수형코딩
- 쏙쏙 들어오는 함수형코딩
- 출처 : 코딩앙마
- 자바스크립트 딥다이브
- 유틸리티타입은 공식문서 자주 보자
- 출처 : 한입크기로 잘라먹는 타입스크립트
- 쏙쏙들어오는함수형코딩
- 흥달쌤
- 에릭 노이먼
- 출처는 코딩앙마
- 출처는 코딩애플
Archives
- Today
- Total
흰둥씨의 개발장
[함수형 코딩#5] 더 좋은 액션 만들기 본문
리팩토링 => 재사용 유지보수,테스트를 쉽게 하기 위해 하는 것
0. 중복된 코드가 없을수록 GOOD
1. 암묵적 입력과 암묵적 출력은 적을수록 GOOD(계산 뿐 아니라 액션에도 적용되는 내용)
ㄴ 암묵적 입력 : 인자가 아닌 모든 입력 => 인자로 바꾸자
ㄴ 암묵적 출력 : 리턴값이 아닌 모든 출력 => 리턴값으로 바꾸자
2. 함수를 작은 단위로, 한개의 함수가 1개의 일을 하는 것이 좋음
ㄴ 재사용, 유지보수, 테스트 면에서 쉬워짐
ㄴ 카피-온-라이트 패턴을 빼내기 (아래 예시 참고)
//카피온 라이트를 빼내기 전
function add_item(cart, name, price) {
let new_cart = cart.slice(); // 1. 배열 복사
new_cart.push({ // 2. 복사본에 item 추가
name: name, // 3. item 객체 만들기
price: price,
});
return new_cart; // 4. 복사본 리턴
}
//카피 온 라이트를 빼낸 후
// 위 함수에서 1, 3, 4번값은 카피온 라이트를 구현한 부분으로 분리하는 것이 좋음
function cartItem(name, price) { //item 객체 만들어서 리턴
return {
name : name,
price : price,
};
}
function add_item(cart, item) { //배열 복사해서 복사본을 리턴
let new_cart = cart.slice();
new_cart.push(item);
return new_cart;
}
add_item(shopping_cart, cartItem("shoes", 3.45)) // add_item함수 호출
'함수형 프로그래밍 > 쏙쏙 들어오는 함수형 코딩' 카테고리의 다른 글
[함수형 코딩#1~#6] 느낀점 (0) | 2023.07.02 |
---|---|
[함수형 코딩#6] 변경가능한 데이터 구조를 가진 언어에서 불변성 유지하기 (0) | 2023.07.01 |
[함수형 코딩#4] 액션에서 계산 빼내기 (0) | 2023.06.29 |
[함수형 코딩#3] 액션, 계산, 데이터 차이알자 (0) | 2023.06.28 |
[함수형 코딩#2] 현실에서의 함수형 사고(예시로 살펴보기) (0) | 2023.06.25 |