본문 바로가기
TIP

코드 유지 보수를 위한 리팩토링 원칙

by 강깅꽁 2022. 7. 10.
반응형

현재 저는 ECount에 재직 중입니다.

저희는 자체 Front-End Framework를 개발하여 사용중입니다.

저는 Framework 유지 보수 및 기능 개발을 진행하며 겪은 경험을 토대로 유지보수를 위한 간단한 팁을 공유하고자 합니다.

 

1. API 개수는 최소로 유지할 것

API 개수의 증가는 제공자의 관리 비용 증가 / 사용자의 학습 비용 증가로 이어집니다.

최소로 유지하기 위해서는 API를 통해 return된 값의 가공은 사용자에게 맡겨야 합니다.

한 예로, A API, B API의 값을 가공해서 넘겨주는 C API는 필요가 없습니다.

사용자는 이미 A API, B API의 값을 가공하여 원하는 값을 얻을 수 있기 때문에 C API의 존재는 관리 비용, 학습 비용의 증가를 가져옵니다.

 

2. 불필요한 최적화 피하기

 

2 -1. 기존 값을 통해 계산할 수 있는 값의 setter는 불필요하다.

checkedCount의 경우 checkboxList의 값을 통해 충분히 계산할 수 있지만 외부에서 addCheckedCount를 통해 값을 늘려 주고 있습니다.

이렇게 될 경우 해당 메서드 호출이 각 모듈에 퍼지게 되며 잘못된 count값이 기록될 수도 있습니다.

이는 유지보수를 까다롭게 하며 에러로 연결됩니다.

 

따라서 getCheckedCount 호출 시 마다 checkboxList를 기반으로 계산하여 반환해야 합니다.

class Checkbox {

	checkedCount = 0;
    checkboxList = [];
    
    constructor() {}
    
    getCheckedCount() {
    	return this.checkedCount;
    }
    
    addCheckedCount () {
    	return this.checkedCount++;
    }
    
    addCheckBoxList (checkbox) {
    	this.checkboxList.push(checkbox);
    }
}