14 Jan 2023 Refactoring
해당 포스트는 inflearn의 백기선님의 강의인 리팩토링 을 듣고 정리한 글입니다.
냄새 22. 데이터 클래스
- 데이터 클래스 : public 필드 또는 필드에 대한 게터와 세어만 있는 클래스 (DTO)
- 코드가 적절한 위치에 있지 않기 때문에 이러한 냄새가 생길 수 있다.
- 예외적으로 “단계 쪼개기”에서...
13 Jan 2023 Refactoring
해당 포스트는 inflearn의 백기선님의 강의인 리팩토링 을 듣고 정리한 글입니다.
냄새 21. 서로 다른 인터페이스의 대안 클래스들
- 비슷한 일을 여러 곳에서 서로 다른 규약을 사용해 지원하고 있는 코드 냄새.
- 대안 클래스로 사용하려면 동일한 인터페이스를 구현하고 있어야 한다.
- “함수 선언 변경하기 (Change Function...
10 Jan 2023 Refactoring
해당 포스트는 inflearn의 백기선님의 강의인 리팩토링 을 듣고 정리한 글입니다.
냄새 20. 거대한 클래스
- 어떤 클래스가 너무 많은 일을 하다보면 필드도 많아지고 중복 코드도 보이기 시작한다.
- 클라이언트가 해당 클래스가 제공하는 기능 중에 일부만 사용한다면 각각의 세부기능을 별도의 클래스로 분리할 수 있다.
09 Jan 2023 Refactoring
해당 포스트는 inflearn의 백기선님의 강의인 리팩토링 을 듣고 정리한 글입니다.
냄새 19. 내부자 거래
- 어떤 모듈이 다른 모듈의 내부 정보를 지나치게 많이 알고 있는 코드 냄새. 그로인해 지나치게 강한 결합도(coupling)가 생길 수 있다.
- 적절한 모듈로 “함수 옮기기 (Move Function)”와 “필드 옮기기 (Move...
08 Jan 2023 Refactoring
해당 포스트는 inflearn의 백기선님의 강의인 리팩토링 을 듣고 정리한 글입니다.
냄새 18. 중재자
- 냄새 17. 메시지 체인과 반대되는 리팩토링 방법이다.
- 캡슐화를 통해 내부의 구체적인 정보를 최대한 감출 수 있다.
- 그러나, 어떤 클래스의 메소드가 대부분 다른 클래스로 메소드 호출을 위임하고 있다면 중재자를 제거하고...