2018년 8월 28일

오늘 한 일:

내일 할 일:

배민찬

슬라이드효과 리팩토링

클래스 속성 최소화

한 번만 사용하는 속성을 찾아내자

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() {}
    }
}