728x90
함수형 프로그래밍, 방어적 프로그래밍 등
다양한 영역에 걸쳐서
순수함수를 작성할 것을 강조한다.
순수함수란 무엇인가?
const total = sum(2, 8);
function sum(a, b) {
return a + b;
}
여기 sum이라는 함수처럼
부수효과가 없는 함수
즉, 어떤 함수에 동일한 인자를 주었을 때 항상 같은 값을 리턴하는 함수
부수효과?
그것의 의미는 바로,
외부의 상태를 변경하는 것
또는 함수로 들어온 인자의 상태를 직접 변경하는 것
을 의미한다.
순수함수가 아닌 경우의 sum
const total = sum(2, 8);
let favoriteNumber = 4;
function bugSum(a, b) {
const sum = a + b;
favoriteNumber = sum;
return sum + favoriteNubmer;
}
위와 같이 함수를 작성하면
언제 프로그래밍에 버그를 만들어낼지 모른다.
나 혼자 개발한다면
혼자 잘 주의해서 개발하면 괜찮지만
다른 개발자가
내 코드를 받아서 사용할때
부수효과를 만들수 있는 favoriteNumber를
직접 조작하는 경우 등
에러요인이 만들어 질 가능성이 존재한다.
순수함수를 작성하도록 노력하자!
728x90
반응형
'개발, 코딩' 카테고리의 다른 글
객체지향 프로그래밍 핵심 개념 (0) | 2022.10.27 |
---|---|
git 기본기_백과사전(2) (0) | 2022.10.26 |
git 기본기_백과사전 (1) (0) | 2022.10.24 |
git 협업하기 - 실무편 (0) | 2022.10.23 |
Webpack 구성 이해하기 (0) | 2022.10.04 |