Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Mac OS NVM
- CloudFront 무효화
- 원티드인턴십
- JS
- Passed by Value
- 회고록
- 원티트 프리온보딩인턴십 1주차
- 프로젝트
- Til
- git
- Redux
- CPU와 GPU의 차이점
- Client-Side Navigation
- next/link
- jsEvent Loop
- 식별자란
- JavaScript
- input error
- 인풋태그 엔터
- Node
- 알고리즘
- react
- react portal
- 유령 의존성
- 원티드프리온보딩
- 광고지구
- toast err
- NextJs
- NVM
- 향해99
Archives
- Today
- Total
SUIN
[TIL] 광고지구 프로젝트 리팩토링 대상 정하기 (1차) 본문
728x90
기존에 v1 배포 후 원티드 인턴십을 하던 나는 연락을 한통 받았다
"수인님! 저희 프로젝트 리팩토링 진행하는 건 어떨까요?"
초기에 프로젝트를 진행할때 구현하기에 급급했던 나는 사실 아쉬운 부분이 많았고 내가 담당했던 부분은 책임감 있게 완성하고 싶은 마음이 컸다.
그렇게 시작된 v2 광고지구 탄생
회의를 잠깐 진행하며 기존의 프론트 4명의 멤버에서 -> 3명으로 인원이 축소되며 구현했던 코드들을 확인해 보니 생각보다 파일관리가 너무 복잡했고 유지보수성이 불편하다는 판단이 나왔다.
배포된 레포를 건들기에는 자동화 처리로 인해 혹시 모를 상황을 방지하고자 새로운 레포를 만들어 a-z 까지 새롭게 다시 진행하기로 했다.
고민한 내용
내가 적절한 컴포넌트 분리를 했는가
팀원들과 코드 컨벤션을 잘 맞추며 작업을 했는가
클라이언트 페이지가 너무 클론에만 급급했던 건 아닌가
어드민 페이지는 팀원들과 디자인부터 시작해서 오로지 프로젝트에 필요한 내용만 담겨있다면 클라이언트 페이지는 지구샵사이트를 클론 하다 보니 사실 프로젝트에 필요하지 않은 view까지 가져오는 경우가 있었고 해당 내용들은 팀원들과 회의하며 과감하게 불필요한 부분은 지우며 코드를 조금 더 깔끔하게 가져가기로 했다.
구현 완료 , 리팩토링 의 시작
오늘 회의를 통해 고민한 내용과 변경해야 할 사항
무엇을 리팩토링 해야 할까?
0. 중복된 코드 빼내기
다른 두 메소드메서드 안에서 같은 코드가 있을 때 -> 하나의 메서드로 관리하기
1. 쿼리 데이터 관심사 분리
각 컴포넌트에서 보내는 개별 쿼리 요청들의 관심사를 묶어 하나의 파일에서 관리
2. 각 페이지에서 유저 정보 리다이렉트 처리 -> 유저에 따라 접근할 수 있는 라우팅 제한하는 Route 컴포넌트 처리
하나의 Router 컴포넌트에서 유저 정보를 조회하며 해당 유저에따른 리다이렉트 처리
3. 사용하지 않는 method or package import ,불필요한 로그, 주석제거
4. alert -> toastUI 통일화
alert ( error) ⇒ toast.error(’’)
alert ( success ) ⇒ toast.success(’’)
5. api 관심사 분리
한 파일에서 관리되는 모든 api -> 해당 관심사별 분리
6. 각 페이지 Lighthouse 성능 개선
각 담당 기능 개별 Lighthouse 측정 후 추가 개선사항 자료 조사 및 성능 개선
이 외에도 리팩토링 할 내용들은 무수히 많지만 대략적인 큰 부분들만 먼저 작업하며 차근히 진행해 나갈 예정이다!
요즘 나의 상태
프로젝트의 끝은 어딜까... 아마 없겠지...? 🥹
'TIL' 카테고리의 다른 글
[TIL] Github Action Deploy to AWS 처리 내가 마주한 이슈 (2) | 2023.03.28 |
---|---|
[TIL] 커리어 코칭 1일차 , 나는 어떤 사람인가 (0) | 2023.02.27 |
[TIL] 두번째 팀 프로젝트를 마치며 .. 끄적여보는 일기 (1) | 2022.11.22 |
[TIL] input undefined to a defined value error (0) | 2022.11.07 |
[TIL] interceptors.response 전역 error toast 처리 (0) | 2022.11.04 |