오픈빌더 설정 리펙토링 - ChoDragon9/posts GitHub Wiki
컴포넌트화
컴포넌트 하나에 모든 마크업과 상태관리와 이벤트 처리를 모두 때려넣었더니 요구사항이 늘어날수록 코드베이스가 굉장히 많이 증가를 하게 되었다. 이제는 정말 리펙토링을 하지 않으면 요구사항을 받아들이는 데 시간이 많이 소비되고 수정하기 힘들거라 예상되어 리펙토링을 바로 진행했다.
생각보다 간단하게 진행되었다.
- 해당 피쳐모듈전용 서비스 생성
- 서비스로 옮길 수 있는 상태 추출
- 보통 저장할 때 부모 컴포넌트에서 필요한 부분을 추출했다.
- 모두 getter를 통해 사용하고, 수정은 메소드를 통해서 하도록 했다.
- 서비스로 옮길 수 있는 메소드 추출
- 자식 컴포넌트로 변경할 수 있는 부분 추출 후 컴포넌트화
역할 확인
컴포넌트에 정의된 행위들이 해당 컴포넌트에 역할이 아닌 것들은 다른 곳인 서비스 또는 유틸성으로 이동시킨다.