Skip to content

Commit 35fd23f

Browse files
authored
Update item26.md
1 parent 94d7ef5 commit 35fd23f

File tree

1 file changed

+4
-4
lines changed
  • docs/EffectiveKotlin/창환/4장_추상화_설계

1 file changed

+4
-4
lines changed

docs/EffectiveKotlin/창환/4장_추상화_설계/item26.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
제목은 굉장히 삐까뻔적한데 사실 함수분리하라는 이야기다.(물론 적절한 사이즈로 적절한 상황에 맞춰서 하는건 어렵지만)
44

5-
[ 추상화의 예시 ]
5+
[ 추상화의 예시 ]
66
추상화 및 레이어드 아키텍처의 예시로 컴퓨터를 드는데 하드웨어 계층/어셈블리/프로그램언어/어플리케이션 이런식으로 계층의 예시를 보여준다.
77
나는 이런 예시를 들떄 OSI7계층을 자주 인용하는데 뭐 둘다 좋은 예시로 들 수 있을것 같다.
88

9-
[ 추상화의 대상 ]
9+
[ 추상화의 대상 ]
1010
나의 경우 추상화하면 타입이 바로 떠오르기 때문에(물론 문맥상 상황상 굉장히 많은 해석이 가능하지만) 클래스라는 시각에 갇힐수 있다.
1111
하지만 코드 덩어리라면 모두 추상화에 대상이 될수 있음을 환기시켜주는 아이템이였다.
1212
좁은 범위로 보면 함수도 추상화의 대상이고 조그마한 역할을 떼어내서 추상화 시키고 역할을 수행하게 하는 코드를 분할하는 행위의 기초가 되며
1313
큰 범위로 본다면 모듈, 프로그램 자체가 추상화의 대상이다.
1414

15-
[ 좁은 추상화(함수 분리)의 효용 ]
15+
[ 좁은 추상화(함수 분리)의 효용 ]
1616
함수를 행동이나 일정한 동작을 수행하는 세부적인 단위로 쪼개지 않고 하나의 함수에 로직이 모두 담겨있는 코드가 오래된 레거시에 많다고 한다.
1717
사실 이건 오래된 레거시 뿐만 아니라 분리에 대한 시도나 인식을 가지고 있지 않은 개발자라면 요즘에도 비슷한 품질의 코드가 나온다.
1818

@@ -27,7 +27,7 @@
2727
- 의존방향을 의도하고 명확히 설정할 수 있는지
2828
- 분리의 단위에 이유가 있는지(도메인에 적절한지)
2929

30-
[ 테스트 ]
30+
[ 테스트 ]
3131
책에서 단위테스트 이야기는 생략된거 너무 많다.
3232
근데 뭐 적어내기는 귀찮아서 이건 독자의 상상에 맡긴다.
3333

0 commit comments

Comments
 (0)