1. 변수 쪼개기
변수 하나에 대입이 두 번 이상 이루어진다면 여러 가지 역할을 수행한다는 신호이고, 이런 변수는 쪼개야한다.
2. 필드 이름 바꾸기
필드 이름은 데이터 구조에서 중요하다. 필드 이름을 바꿔서 프로그램을 이해하는 데에 도움이 되어야 한다.
3. 파생 변수를 질의 함수로 바꾸기
가변 데이터는 연쇄효과를 일으키기 때문에 골칫거리다. 그래서 가변 데이터의 유효범위를 좁여야만 한다.
변수를 질의 함수로 바꾸면 유효 범위를 좁힐 수 있다.
4. 참조를 값으로 바꾸기
객체를 다른 객체에 중첩하면 참조 또는 값으로 취급할 수 있다. 또한 객체는 불변이기 때문에 다루기 좋다
5. 값을 참조로 바꾸기
같은 데이터를 복제해서 사용하면 데이터를 갱신할 때 문제가 된다. 그럴 때는 데이터를 참조로 바꿔주는 것이 좋다.
6. 매직 리터럴 바꾸기
코드 자체가 뜻을 분명하게 드러내는 것이 좋다. 상수를 정의하고 숫자 대신 상수를 사용하면 된다.
다만 const ONE = 1같은 선언은 의미가 없으니 자제하도록 하자.
'Today I Learned' 카테고리의 다른 글
리팩터링 2판 챕터10 - 조건부 로직 간소화(2) (0) | 2021.12.20 |
---|---|
리팩터링 2판 챕터10 - 조건부 로직 간소화(1) (0) | 2021.12.16 |
리팩터링 2판 챕터8 - 기능 이동 (0) | 2021.11.29 |
리팩터링 2판 챕터7 - 캡슐화 (0) | 2021.11.24 |
리팩터링 2판 챕터6 - 기본적인 리팩터링(2) (0) | 2021.11.21 |