-
리팩터링 2판 - 9. 데이터 조직화Books/리팩터링 2판 2022. 6. 17. 17:58
9-1. 챕터소개
데이터 조직화 ( Organizing Data )
- 관련 있는 데이터끼리 응집도를 높여서 필요한 곳에 두고 의미있는 이름을 지어주는 것이 중요!
- 높은 가독성, 유지보수성
9-2. 변수 쪼개기 ( 책9.1 )
- 임시 변수를 쓰지말고 의미있는 이름을 부여하자!
- 업데이트될 정당한 이유가 없다면 왠만하면 const를 사용하는게 좋다
- 반환값처럼 업데이트가 필요한 경우 let 사용
9-3. 필드 이름 바꾸기 ( 책9.2 )
- _ , # : private field
- 이름을 의도나 값을 나타낼 수 있는 이름으로 사용하는게 중요하다
- 이름이 모호하거나 담고있는 것을 잘 나타내지 못한다고 생각하면 좀 더 잘나타낼 수 있는 이름으로 변경
9-4. 파생 변수를 질의 함수로 바꾸기 ( 책9.3 )
- 데이터 하나가 변경되었을 때 다른 변수의 계산에 영향을 미치는 경우라면 실시간으로 계산할 질의함수로 만들것
- 내가 필요한 것만 업데이트하고 계산하는 것은 실시간으로 계산할 것!
9-5. 참조를 값으로 바꾸기 ( 책9.4 )
- 값 value : 값 자체를 말함, 불변성
- 참조 reference : 가변성
ㆍex ) 오브젝트 { }
- 가변성은 밖에서 값을 변경할 위험이 있다
- 무언가 변경할려면 값처럼 업데이트 할 수 있도록 재할당만 발생하도록 만들것!
9-6. 값을 참조로 바꾸기 ( 책9.5 )
- 하나의 인스턴스의 값을 여러군데에서 확인을 해야한다면 or 다른 곳에서 업데이트되야한다면 값보다는 참조를 사용하는 것이 더 효율적이다.
- 불변성은 좋지만 데이터가 변할 때마다 인스턴스를 계속 만든다면 예전버전 인스턴스를 가지고 있는 곳에서는 업데이트 내용이 반영 X
- 변경사항이 즉각적으로 적용되어야할 경우 적용 → 참조 ( 가변성 클래스 ) 사용
- 고유한 아이디별로 하나의 인스턴스를 만드는 것을 보장하고 싶다면 repository 패턴을 사용하는 것이 정말 정말 좋다.
9-7. 매직 리터럴 바꾸기 ( 책9.6 )
- 의미없는 숫자는 상수로 정의
- 상수 정의는 대문자로 표기
'Books > 리팩터링 2판' 카테고리의 다른 글
리팩터링 2판 - 12. 상속 다루기 (0) 2022.06.20 리팩터링 2판 - 10. 조건부 로직 간소화 (0) 2022.06.20 리팩터링 2판 - 8. 기능이동 (0) 2022.06.17 리팩터링 2판 - 7. 캡슐화 (0) 2022.06.16 리팩터링 2판 - 6. 기본적인 리팩터링 (0) 2022.06.15