SsackTeun/onware-portal-renew01 (github.com)

결과물 + @ 

: 가장 만족스러웠던 부분은 파일의 갯수가 비약적으로 많이 줄었다.

: 파일이름이 의미를 가지게 되어 수정이 필요할 경우 빠르게 파악할 수 있을 것으로 기대된다

 

리팩터링 할 때는 워크플로우를 먼저 점검하기.


* 한 가지 요청에 여러 가지 서비스 메서드로 구현하지 않았는지?  - 단일책임원칙을 안 지킨 예

 

코드 문제점?

  • 서비스를 구현할 때, 서비스가 서비스를 연쇄적으로 호출하는 만행을 저질렀다.
  • 고치다보니 많이 배우게 되는데, 이것이 "단일책임원칙"이라는 걸 알게 되었다. 

 

왜 이런실수를 저질렀을까?

  • 결국 초점을 계속 내부에 두다 보니, 여태껏 이해를 못 했다는 생각이 든다.
  • 초점을 내부 구현을 무시한 채, 이 메서드는 무슨 일을 하는가?라고 물음을 던져보면 아주 쉬운 문제였다.

 

"한 가지 기능 구현" = "단일책임원칙" 

"한 가지 기능  구현을 위한 처리 구현" = "단일책임원칙"

 

이렇게 기억해야겠다.

 

다음번엔?

  • 이런 실수를 하지 않게, 무작정 코드부터 작성하지 않기.
  • 인터페이스를 활용한다음, 구현객체에 추가하고 "플로우"를 먼저 글로 작성해서 흐름을 먼저 만들기
  • 그전에 설계라는 걸 해야겠지만, 좀 더 실수를 해야된다.