struct refactor

구조체 리팩터링은 위치 기반 값을 이름 있는 필드로 바꾼다

width와 height처럼 의미가 있는 값은 tuple 위치보다 struct 필드로 표현할 때 호출부와 변경이 안전해진다.

튜플 버전
  • (width, height)
  • 위치 의미를 기억해야 함
  • 0과 1을 혼동하기 쉬움
  • 필드 추가가 어렵다
구조체 버전
  • Rectangle { width, height }
  • 이름으로 의미 노출
  • 메서드 연결 가능
  • 변경 지점이 명확
구분의미판단
읽기성tuple은 위치 해석struct는 필드 이름
확장성필드 추가struct가 유리
메서드impl Rectangle데이터와 동작 결합

핵심 구조체 리팩터링은 값의 개수가 아니라 값의 의미를 타입 경계 안에 넣는 것이다.