2023. 10. 12. 14:52
SsackTeun/onware-portal-renew01 (github.com)
결과물 + @
: 가장 만족스러웠던 부분은 파일의 갯수가 비약적으로 많이 줄었다.
: 파일이름이 의미를 가지게 되어 수정이 필요할 경우 빠르게 파악할 수 있을 것으로 기대된다
리팩터링 할 때는 워크플로우를 먼저 점검하기.
* 한 가지 요청에 여러 가지 서비스 메서드로 구현하지 않았는지? - 단일책임원칙을 안 지킨 예
코드 문제점?
- 서비스를 구현할 때, 서비스가 서비스를 연쇄적으로 호출하는 만행을 저질렀다.
- 고치다보니 많이 배우게 되는데, 이것이 "단일책임원칙"이라는 걸 알게 되었다.
왜 이런실수를 저질렀을까?
- 결국 초점을 계속 내부에 두다 보니, 여태껏 이해를 못 했다는 생각이 든다.
- 초점을 내부 구현을 무시한 채, 이 메서드는 무슨 일을 하는가?라고 물음을 던져보면 아주 쉬운 문제였다.
"한 가지 기능 구현" = "단일책임원칙"
"한 가지 기능 구현을 위한 처리 구현" = "단일책임원칙"
이렇게 기억해야겠다.
다음번엔?
- 이런 실수를 하지 않게, 무작정 코드부터 작성하지 않기.
- 인터페이스를 활용한다음, 구현객체에 추가하고 "플로우"를 먼저 글로 작성해서 흐름을 먼저 만들기
- 그전에 설계라는 걸 해야겠지만, 좀 더 실수를 해야된다.
'[Project]naverworkplace-absence > Refactoring' 카테고리의 다른 글
[Refactoring] - DTO 클래스 수정하기 (0) | 2023.10.11 |
---|---|
[Refactoring] - [1] 고칠 부분 찾아보기 - Controller 클래스 (0) | 2023.10.10 |
[Refactoring] - 만든 프로그램을 리팩토링해보기 (2) | 2023.10.10 |