2018년 8월 28일
오늘 한 일:
- 배민찬 슬라이드효과 리팩토링
내일 할 일:
- 배민찬 step8 PR
배민찬
슬라이드효과 리팩토링
클래스 속성 최소화
한 번만 사용하는 속성을 찾아내자
ajax, throttle 함수는 렌더링할 때만 사용되는 일회용 함수. 또한 라이브러리의 속성을 가졌다. 따라서 모듈 내부에서 import해서 사용하도록 변경
import {ajax, throttle} from "./helper.js";
export class SlideStyleSceneChange{
...
}
비슷한 종류의 속성은 하나의 객체로 묶는다
sceneWidth, wrapperWidth, sceneListWidth는 Width라는 하나의 범주로 묶을 수 있다
constructor() {
this.width = {
wrapper: 0,
scene: 0,
sceneList: 0
}
}
초기화는 생성자 내부에서
registerAllEventListener
메소드는 외부에서 사용할 필요가 없는 메소드다. 객체가 생성될 때 무조건 실행되어야 하는 메소드이므로 생성자에 넣어둔다
- 옵션으로 사용하는 메소드들만 바깥으로 빼놓자(크롱)
주의: 생성자 안에 초기화하는 메소드가 너무 복잡하지 않도록 주의한다
export class SlideStyleSceneChange{
constructor() {
...
this._registerAllEventListener() {}
}
}