2025-08-07 23:16
Tags:소프트웨어 공학
부수 효과(사이드 이펙트)
- 원래 아이디어는 의료계에서 의도치 않은 결과 나타날때 표현
- 프로그래밍에선 함수나 연산이 입력 → 출력 외의 외부 상태 변경
- 주효과 이외의 외부 변수 변경, IO 수행, 예외 발생등 일으키는 현상
- 명령형 프로그래밍의 경우 일일이 변수를 직접 수정하므로 사이드 이펙트 빈번
- 함수형 프로그래밍의 경우 순수 함수 지향 → 사이드 이펙트 최소화
- 참조 투명성 : 사이드 이펙트 없고 동일 입력에 항상 동일 출력 보장
- 사이드 이펙트가 많으면 디버깅하기 어렵고 예상 못한 동작 생김
- 사이드 이펙트 자체가 나쁜게 아니라 통제 할 수 없는 효과가 나쁜것
- 핵심 로직은 가능한 순수 함수로 작성
- 사이드 이펙트 일으키는 작업은 가능하면 외곽으로 밀어내 관리
References
사이드 이펙트 핸드북 Next.js·React에서의 사이드 이펙트 핸드북 프로그래밍에서 사이드 이펙트 프로그래밍 핸드북 사이드 이펙트 (Side Effect)