의미 있는 리팩터링

구조체를 사용한 예제 프로그램

사각형 넓이 예제를 튜플에서 구조체로 바꾸며 코드가 데이터 의미를 얼마나 잘 드러내는지 비교합니다.

개별 변수

width와 height가 따로 있으면 관계가 코드에 약하게 드러납니다.

튜플

값을 묶지만 0번과 1번의 의미를 계속 기억해야 합니다.

구조체

Rectangle { width, height }가 데이터의 목적을 직접 표현합니다.

Debug 파생

dbg!와 출력 형식으로 구조체 상태를 개발 중 확인합니다.

리팩터링 판단 기준

구조체를 사용한 예제 읽기 기준
묶기

같이 전달되는 값들이 반복해서 보이면 하나의 타입 후보입니다.

이름 붙이기

필드명이 계산의 의미를 대신 설명하게 합니다.

Debug 출력

Debug 출력으로 새 타입의 상태를 눈으로 검증합니다.

이 예제의 리팩터링은 줄 수를 줄이는 일이 아니라, 데이터 관계를 타입으로 끌어올리는 연습입니다.