과제 체크포인트
https://yangchanghun.github.io/front_6th_chapter2-1/
기본과제
- 코드가 Prettier를 통해 일관된 포맷팅이 적용되어 있는가?
- 적절한 줄바꿈과 주석을 사용하여 코드의 논리적 단위를 명확히 구분했는가?
- 변수명과 함수명이 그 역할을 명확히 나타내며, 일관된 네이밍 규칙을 따르는가?
- 매직 넘버와 문자열을 의미 있는 상수로 추출했는가?
- 중복 코드를 제거하고 재사용 가능한 형태로 리팩토링했는가?
- 함수가 단일 책임 원칙을 따르며, 한 가지 작업만 수행하는가?
- 조건문과 반복문이 간결하고 명확한가? 복잡한 조건을 함수로 추출했는가?
- 코드의 배치가 의존성과 실행 흐름에 따라 논리적으로 구성되어 있는가?
- 연관된 코드를 의미 있는 함수나 모듈로 그룹화했는가?
- ES6+ 문법을 활용하여 코드를 더 간결하고 명확하게 작성했는가?
- 전역 상태와 부수 효과(side effects)를 최소화했는가?
- 에러 처리와 예외 상황을 명확히 고려하고 처리했는가?
- 코드 자체가 자기 문서화되어 있어, 주석 없이도 의도를 파악할 수 있는가?
- 비즈니스 로직과 UI 로직이 적절히 분리되어 있는가?
- 코드의 각 부분이 테스트 가능하도록 구조화되어 있는가?
- 성능 개선을 위해 불필요한 연산이나 렌더링을 제거했는가?
- 새로운 기능 추가나 변경이 기존 코드에 미치는 영향을 최소화했는가?
- 코드 리뷰를 통해 다른 개발자들의 피드백을 반영하고 개선했는가?
- (핵심!) 리팩토링 시 기존 기능을 그대로 유지하면서 점진적으로 개선했는가?
심화과제
- 변경한 구조와 코드가 기존의 코드보다 가독성이 높고 이해하기 쉬운가?
- 변경한 구조와 코드가 기존의 코드보다 기능을 수정하거나 확장하기에 용이한가?
- 변경한 구조와 코드가 기존의 코드보다 테스트를 하기에 더 용이한가?
- 변경한 구조와 코드가 기존의 모든 기능은 그대로 유지했는가?
- (핵심!) 변경한 구조와 코드를 새로운 한번에 새로만들지 않고 점진적으로 개선했는가?
과제 셀프회고
과제를 하면서 내가 제일 신경 쓴 부분은 무엇인가요?
변수명을 일관되게 하려고 노력했지만 변수명을 이렇게 짓는게 맞나 라는 생각이 들어 다른 분들거를 참고하고 다른 분들은 왜 이렇게 짓지? 라는 의문점과 나는 왜 이렇게 변수명을 생각못하지 라는 생각이 겹치고 겹쳐 멘탈이 나가 다른 거부터 하자 하고 변수명을 제대로 짓지는 못한거같습니다. 신경 쓰려고했지만..,,;;;; 또한 함수분리를 최대한으로 하여 단일책임원칙을 지키려 해봤지만 매개변수와 함수가 어디서 오고 가는지 헷갈리는 부분들이 많았습니다. 그래도 최대한 분리해보고 테스트를 돌렸지만 테스트가 실패하여 분리도 제대로 못하였습니다. 신경 스려고했지만..!! ㅠ
과제를 다시 해보면 더 잘 할 수 있었겠다 아쉬운 점이 있다면 무엇인가요?
변수명이나, 경로설정,함수분리 등에 있어서 불필요한 시간을 소비하고 집중도도 많이 떨어지게 된거같습니다. 다음 부터는 이런부분에선 ai를 활용하여 초기에 라인을 잡고 시작하면 좋을 거 같다는 생각이 듭니다.
리뷰 받고 싶은 내용이나 궁금한 것에 대한 질문 편하게 남겨주세요 :)
제가 협업 프로젝트에대한 경험이 없어서 그러는데 실제 큰프로젝트에선 무조건 한개의 함수안에서 한개의 책임만을 가지게 하나요? 아니면 상황에 따라 다르게 구현 할까요?~
과제 피드백
안녕하세요 창훈님! 4주차 과제 잘 진행해주셨네요 ㅎㅎ 고생하셨습니다. 다만 심화과제는 진행할 시간이 없었나보네요 ㅠㅠ
제가 협업 프로젝트에대한 경험이 없어서 그러는데 실제 큰프로젝트에선 무조건 한개의 함수안에서 한개의 책임만을 가지게 하나요? 아니면 상황에 따라 다르게 구현 할까요?~
무조건... 은 없는 것 같아요 ㅋㅋ 가능하면 한 개의 함수가 한 개의 일만 하도록 만들어야 유지보수 하기가 수월해지기는 해요!
가령 회사에서 팀장은 팀원이 하는 일에 대한 오케스트레이션을 하거나, 매니징을 하거나, 조금 더 어려운 문제를 찾아서 해결방안을 제시하고 위임하는 등 조금 더 넓은 범위의 일을 해야 하는데 자잘한 업무를 한다거나 직접 실무를 하게 된다면 다른 일을 하기가 어려워져요.
여기서 이야기 하는 "책임"과 "한 가지 일"의 의미는 이런 것들입니다. 나의 책임과 책임에 맡은 일을 하고 있는가 에 대한 부분인거죠.
제가 최근에 작성한 글인데요, "한 가지 일"을 조금 더 구체적으로 정의한 내용이니 한 번 참고 부탁드려요!