본문 바로가기
클린코드

나누기

by 문자메일 2023. 2. 16.

https://www.youtube.com/watch?v=NaeXpswLvxk&list=PLwouWTPuIjUg0dmHoxgqNXyx3Acy7BNCz&index=2 

 

함수/ 메서드/ 클래스가 너무 커지면, 프로그램 분석 & 수정이 어려워 진다.

ex : if-else, if 중첩 과다, 코드 안에서 중복 발생 등

 

 

이런 경우, 필요한 기술은 나누기

의미가 있는 단위로 코드/구성 요소를 나누어야 한다.

패턴은 나누는 기술의 전형적인 예시

  • 웹 개발 : 컨트롤러 - 서비스 - DAO
  • DDD : 엔티티, 밸류, 레퍼지토리
  • 디자인 패턴

나누기는 기능을 여러 작은 기능으로 분리하는 것

 

나누기 수행 결과는 하위 기능들이 메서드나 클래스로 분리된다.

 

기능을 분리하는 기준은?

기능에서 '의미' 있는 하위 기능 단위로 나누는 시도가 어느정도 의미 있게 나눌 수 있어 보임.

  • ex : 주문 취소 기능
    • 취소 사실 통지 vs PUSH 테이블에 insert
    • 결제 승인 취소 vs PG사가 제공하는 API 실행

 

나누기를 잘하면

구조의 복잡도가 증가하지만 상위 수준에서 실행 흐름을 이해하기 좋다.

코드 변경이 쉬워질 가능성이 높다

'클린코드' 카테고리의 다른 글

WHAT과 HOW로 나눠 생각하기  (0) 2023.02.16
변수 아껴 사용하기  (0) 2023.01.27
10. 클래스  (1) 2022.10.29
6. 객체와 자료구조  (1) 2022.10.27
5. 형식 맞추기  (0) 2022.10.26

댓글