본문 바로가기

카테고리 없음

[TIL] 프로그래머스 데브코스 - 바닐라JS/ SPA구조로 노션만들기 - 리팩토링(함수네이밍,세션스토리지 추상화,고차함수 적용).

과제 구현 중 멘토님, 동료 피드백 내용을 반영하는 리팩토링을 진행해봤다.

 

 

함수 네이밍

함수 네이밍시 동사원형+명사 조합으로 작성해보면 그 함수의 역할을 파악하기가 쉬울 것이다라는 피드백을 받았다.

신기하게도 함수의 이름이 길어졌음에도 가독성이 좋아졌다라는걸 느꼈다. 

아래는 가장 눈에띄게 변화를 느낄 수 있었던 변경을 가져와봤다.

(각 bannerEvent, editorEvent함수는 Banner, Editor 각 컴포넌트의 외부에서 Banner, Editor의 상태 변경을 지시하는 함수다.)

왼쪽 : 변경전 / 오른쪽 :변경후

 

세션 스토리지 추상화

api호출시 공통된 부분을 index.js로 따로 빼서 작성하는 것과 동일하다.(클로저를 처음으로 사용해봤다.)

왼쪽 : 변경전 / 오른쪽 :변경후

 

고차 함수 적용

인덱스를 찾기 위해 for문 내부에서 findIndex함수를 불러와 사용했었는데, forEach함수의 두 번째 인자로 인덱스를 받아와 사용했다.

왼쪽 : 변경전 / 오른쪽 :변경후

결론

기존에 이론으로만 알고 있던 개념을 내가 작성한 코드에 필요에의해 적용시켜 개선해본 경험을 했다.