9 - 2. 필드 이름 바꾸기
적용 시점
데이터 구조에서 훨씬 나은 필드 이름을 찾은 경우
특히 여러 코드베이스에서 사용하는 컬렉션인 경우
절차
레코드의 유효 범위가 제한적이라면 필드에 접근하는 모든 코드를 수정한 후 테스트한다. 이후 단계는 필요 없다.
레코드가 캡슐화되지 않았다면 우선 레코드를 캡슐화한다.
캡슐화된 객체 안의 private 필드명을 변경하고, 그에 맞게 내부 메서드들을 수정한다.
테스트한다.
생성자의 매개변수 중 필드와 이름이 겹치는게 있다면 함수 선언 바꾸기로 변경한다.
접근자들의 이름도 바꿔준다.
예시
❌ 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