9 - 2. 필드 이름 바꾸기

적용 시점

  • 데이터 구조에서 훨씬 나은 필드 이름을 찾은 경우

    • 특히 여러 코드베이스에서 사용하는 컬렉션인 경우

절차

  1. 레코드의 유효 범위가 제한적이라면 필드에 접근하는 모든 코드를 수정한 후 테스트한다. 이후 단계는 필요 없다.

  2. 레코드가 캡슐화되지 않았다면 우선 레코드를 캡슐화한다.

  3. 캡슐화된 객체 안의 private 필드명을 변경하고, 그에 맞게 내부 메서드들을 수정한다.

  4. 테스트한다.

  5. 생성자의 매개변수 중 필드와 이름이 겹치는게 있다면 함수 선언 바꾸기로 변경한다.

  6. 접근자들의 이름도 바꿔준다.

예시

❌ Before

// organization을 여러 군데에서 쓰는데 name을 title로 바꾸고 싶다.
// 따라서 클래스를 이용하여 데이터를 캡슐화 하는게 추후 유지보수 측면에서 좋다.
const organization = { name: '애크미', country: 'GB' };

⭕ After

class Organization {
	constructor(data) {
		this._title = data.title;
		this._country = data.country;
	}
	get title() { return this._title; }
	set title(aString) { this._title = aString; }
	get country() { return this._country; }
	set country(aCountryCode) { this._country = aCountryCode; }
}

const organization = new Organization({ name: '애크미', country: 'GB' });

Last updated