-
리팩토링 - 캡슐화Python study/코딩스타일 2021. 12. 3. 16:48
캡슐화
1. 레코드 캡슐화 하기
- 곳곳에 쓰이는 가변 데이터는 레코드가 아니라 객체로 저장하자
- 데이터 구조를 명확히 표현할 수 있고, 코드 한 곳에서 관리하고 표현할 수 있게 된다.
before
after
2. 임시 변수를 질의 함수로 바꾸기
- 곳곳에 쓰이는 임시변수를 메써드로 만들어, 굳이 임시 변수를 더 만들지 말자
Before
After
3. 클래스 추출하기
- 개발 과정에서 점점 비대해지는 클래스를 적절히 분리한다.
- 단일 책임 원칙 (SRP)를 잊지말자.
before
after
- 추가 설명과 팁
- 일부 데이터와 메써드를 따로 묶을 수 있다면 어서 분리하라는 신호다.
- 함께 변경되는 일이 많거나, 의존하는 데이터들도 분리한다.
- 개발 중, 일부 기능만을 사용하기 위해 서브 클래스를 만들어야 한다면 클래스를 나눠야 한다는 신호다.
- 반대로, 리팩터링을 거치면서 쓸모 없어진 클래스는 이 과정을 반대로 한다. 합친 뒤에, 다시 살펴보면 새로운 클래스를 추출할 수도 있기 때문이다.
'Python study > 코딩스타일' 카테고리의 다른 글
리팩토링 (0) 2021.12.03 코드에서 나는 악취 (0) 2021.12.03