SRP(Single Responsibility Principle, 단일 책임 원칙)
- 함수의 역할이 많아진다면, 오류의 가능성이 커지고 가독성이 떨어지며, 함수에 대한 테스트를 진행하기 어렵다.
1 |
|
DRY(Don’t Repeat Yourself, 반복 금지)
- 관심사를 잘 분리하고 의존성을 줄이기 위해 반복되는 코드를 하나의 함수로 만들어 사용한다.
1 |
|
파라미터 수는 적게 유지
1 |
|
사이드 이펙트를 잘 핸들링
- 사이드 이펙트는 함수가 실행됐을 때 함수 이외의 어떤 것들에 변화를 주는 것을 뜻한다.
- 사이드 이펙트를 잘 다루지 못하면 에측하지 못하는 문제들이 발생할 수 있다.
1 |
|
잘 핸들링 하는 방법
- 코드를 통해 충분히 예측할 수 있도록 네이밍을 잘하는 것이 중요하다.
- update, set 같은 직관적인 prefix를 붙여서 사이드 이펙트가 있을 수 있음을 암시한다.
- 함수의 사이드 이펙트가 있는 부분과 없는 부분으로 잘 나눠서 관리한다.
- 명령(side effect O)과 조회(side effect X)를 분리하는 CQRS 방식이 있다.
- 일반적으로 udpate를 남발하기 보단 순수 함수 형태로 사용하는 것이 더 직관적이고 에러를 방지할 수 있다.
1 |
|