Skip to content

[6팀 조영민] Chapter 2-1. 클린코드와 리팩토링 #45

Open
0miiii wants to merge 94 commits intohanghae-plus:mainfrom
0miiii:main
Open

[6팀 조영민] Chapter 2-1. 클린코드와 리팩토링 #45
0miiii wants to merge 94 commits intohanghae-plus:mainfrom
0miiii:main

Conversation

@0miiii
Copy link

@0miiii 0miiii commented Jul 29, 2025

https://0miiii.github.io/front_6th_chapter2-1/

과제 체크포인트

기본과제

  • 코드가 Prettier를 통해 일관된 포맷팅이 적용되어 있는가?
  • 적절한 줄바꿈과 주석을 사용하여 코드의 논리적 단위를 명확히 구분했는가?
  • 변수명과 함수명이 그 역할을 명확히 나타내며, 일관된 네이밍 규칙을 따르는가?
  • 매직 넘버와 문자열을 의미 있는 상수로 추출했는가?
  • 중복 코드를 제거하고 재사용 가능한 형태로 리팩토링했는가?
  • 함수가 단일 책임 원칙을 따르며, 한 가지 작업만 수행하는가?
  • 조건문과 반복문이 간결하고 명확한가? 복잡한 조건을 함수로 추출했는가?
  • 코드의 배치가 의존성과 실행 흐름에 따라 논리적으로 구성되어 있는가?
  • 연관된 코드를 의미 있는 함수나 모듈로 그룹화했는가?
  • ES6+ 문법을 활용하여 코드를 더 간결하고 명확하게 작성했는가?
  • 전역 상태와 부수 효과(side effects)를 최소화했는가?
  • 에러 처리와 예외 상황을 명확히 고려하고 처리했는가?
  • 코드 자체가 자기 문서화되어 있어, 주석 없이도 의도를 파악할 수 있는가?
  • 비즈니스 로직과 UI 로직이 적절히 분리되어 있는가?
  • 코드의 각 부분이 테스트 가능하도록 구조화되어 있는가?
  • 성능 개선을 위해 불필요한 연산이나 렌더링을 제거했는가?
  • 새로운 기능 추가나 변경이 기존 코드에 미치는 영향을 최소화했는가?
  • 코드 리뷰를 통해 다른 개발자들의 피드백을 반영하고 개선했는가?
  • (핵심!) 리팩토링 시 기존 기능을 그대로 유지하면서 점진적으로 개선했는가?

심화과제

  • 변경한 구조와 코드가 기존의 코드보다 가독성이 높고 이해하기 쉬운가?
  • 변경한 구조와 코드가 기존의 코드보다 기능을 수정하거나 확장하기에 용이한가?
  • 변경한 구조와 코드가 기존의 코드보다 테스트를 하기에 더 용이한가?
  • 변경한 구조와 코드가 기존의 모든 기능은 그대로 유지했는가?
  • (핵심!) 변경한 구조와 코드를 새로운 한번에 새로만들지 않고 점진적으로 개선했는가?

과제 셀프회고

과제를 하면서 내가 제일 신경 쓴 부분은 무엇인가요?

  1. 도메인 단위로 코드를 어떻게 나눌지 고민을 많이 했습니다.
  2. 함수명 변수명에 고민을 했습니다.
  3. 처음에는 생각하지 못했지만 발제 후 단계별로 리팩토링하는 것에 대해 신경썼습니다.

과제를 다시 해보면 더 잘 할 수 있었겠다 아쉬운 점이 있다면 무엇인가요?

위에서 작성한 내용들을 처음에는 신경을 썼지만 시간이 지날수록 잘 지켜지지 않았는 것 같습니다.
단계별로 리팩토링하는게 어느 순간부터 새로운 코드를 작성하고 있는것 같고, 시간 투자 대비 결과물이 만족스럽지 않았습니다.
특히 과제 처음 코드가 복잡하다고 하였지만, 막상 제 결과물을 보니 다른 사람이 보면 똑같이 복잡다고 느낄것 같아 아쉬웠습니다.
기존코드를 리팩토링할때 마음 급하게 하지 않고 코드 하나하나 분리를 하면서 천천히 해야겠다고 느꼈습니다.

리뷰 받고 싶은 내용이나 궁금한 것에 대한 질문 편하게 남겨주세요 :)

  1. 커밋단위를 최대한 작게하는게 좋다고 많이 들었습니다. 커밋 마지막으로 갈수록 잘안되긴 했는데 초반에는 리팩토링 하나하나 커밋을 나누긴 했는데 사실 기준 없이 하나의 수정있을 때마다 한 느낌이라 현재 커밋들이 잘되어있는건지 궁금합니다.
  2. 리팩토링을 마무리하지 못해서 더 작업해보고 싶습니다 ㅜㅜ

jym0421 and others added 30 commits July 29, 2025 01:28
- 변수 키워드 let, const 사용
- 의미없는 변수 재할당 제거
- 축약된 변수명을 확장하여 가독성 개선
- 코드 흐름상 없어도 기능에 문제가 없으므로 단순화를 위해 진행
- import, export 사용하기 위함
- 기존 코드를 이해하지 못하고 제거한 코드 복구
- 재고 상태와 문구 분리
- 재고 상태가 다른 함수에서도 사용되어야 함
- 기능상 불필요한 코드 제거
- 개행추가
- 임시 주석 추가
refactor: handleCalculateCartStuff 수정
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants