Refactoring

[ 리팩토링 by 마틴 파울러 ] Chapter09. 데이터 조직화

noahkim_ 2021. 7. 22. 02:02

데이터 구조에 집중한 리팩터링

 

9.1 변수 쪼개기

 

변수 1개당 역할은 하나이다

역할이 둘 이상인 변수가 있다면 쪼개야 한다.

(여러 용도로 쓰인 변수는 코드를 읽는 이에게 커다란 혼란을 줌)

 

같은 역할에 여러 번의 할당은 필요할 때도 있다

-> 루프변수, 수집변수

 

9.2 필드 이름 바꾸기

 

점진적으로 안전하게 바꾸기

 

9.3 파생 변수를 질의 함수로 바꾸기

9.4 참조를 값으로 바꾸기

 

객체 내부를 수정하던 것을, 값 객체 통채 하나로 바꾸기

( 불변 데이터이므로 외부에 건네주는 경우 등 나중에 그 값이 바뀌어 내부에 영향 끼치지 않음 )

 

새로운 속성을 담은 객체로 기존 내부 객체를 통채로 대체

 

객체 - 불변 : setter없이 constructor 만으로

 

9.5 값을 참조로 바꾸기

 

데이터를 갱신해야 할 때, 모든 복제본을 찾아서 빠짐없이 갱신해야 하며, 하나라도 놓치면 일관성이 깨짐

 

저장소에서 값을 찾아오기

 

9.6 매직 리터럴 바꾸기

 

일반적인 리터럴 값을 변수로