나누기

김석·2023년 5월 18일
0

Basics

목록 보기
1/2

1. 함수/메서드/클래스가 너무 커지면?

프로그램 분석(수정)이 어려워짐.

  • if-else, if 중첩이 복잡해짐
  • 변수의 의미가 중간에 바뀜
  • 코드 안에서 중복이 발생

2. 나누기

  • 의미가 있는 단위로 코드/구성 요소를 나누는 기술 -> 기능을 분해/분리하는 기술.
  • 함수/클래스 분리는 곧 역할/책임에 따라 구성 요소를 도출하는 과정.
  • 하나의 기능은 여러 작은 기능/로직으로 구성됨.

나누기의 결과

하위 기능이 메서드나 클래스로 분리됨.

나누기 전과 후


3. 나누는 기준?

답은 없지만, 기능에서 의미가 있는 하위 기능 단위로 나누는 시도를 하자.

대칭성 활용하기

의미 단위로 나누어진 코드 아래에 저수준 코드가 있다. 대칭성에 맞지 않기 때문에 다른 상위 레벨의 메서드/클래스에 포함하면 더 좋은 결과가 나온다.


4. 나누기 결과

나누기를 안 하면?

  • 코드 순서대로 구현을 이해하는 것이 가능하지만,
  • 코드가 커질수록 복잡해지고 점점 이해하기 어려워진다.
  • 코드의 수정도 어려워진다.

나누기를 잘 하면?

  • 구조의 복잡도가 증가하지만 상위 수준에서 실행 흐름을 이해하기 좋다.
  • 코드의 변경이 나누기 전보다 쉬워질 가능성이 높다.

너무 잘게 나누면?

  • 너무 복잡해져서 실행 흐름을 이해하기 어려워진다.
  • 변경할 때 수정 대상이 많아져 변경이 어려워진다.

출처

https://www.youtube.com/watch?v=NaeXpswLvxk

profile
handsome

0개의 댓글