[우테코 5기 프리코스] 9일차 회고록

BBIYAC·2022년 11월 4일
0
post-thumbnail

2주차 과제 설명
2주차의 미션은 숫자 야구이다. 2022.11.08(화) 23:59 까지 문제를 해결한 후 PR(Pull Request)를 보내고, 우아한테크코스 지원 사이트에서 내 지원 현황에 제출까지 해야 2주차 미션을 해결한 것으로 처리된다.

회고록

2주차는 역시 쉽지 않구나..

이번주 과제에서 기능 분리, 기능 구현은 어려운 일이 아닌 것 같다.
Jest를 이용한 테스트 코드를 작성하는 일이 상당히 어려운 일이었다..

사용자의 입력 값에 따라 달라지는 결과를 테스트 코드에서 어떻게 불러와야 할지부터, 어떻게 검증해야 할지 감이 안잡힌다..

기능 하나 구현할 때마다 단위 테스트 형식으로 테스트 코드도 바로바로 만들려고 노력중인데 테스트 코드 작성에 시간을 너무 많이 쏟아 구현 시간도 줄어들 것 같아서 일단 구현부터 한 후에 기능별 테스트 코드를 작성해볼까 한다.

이번엔 추가 요구사항까지 주어져서 구현에도 시간을 많이 쏟아야한다.

추가 요구사항
1. indent(인덴트, 들여쓰기) depth를 3이 넘지 않도록 구현한다.(함수 분리)
2. 함수(또는 메서드)가 한 가지 일만 하도록 최대한 작게 만들어라.
3. Jest를 이용하여 본인이 정리한 기능 목록이 정상 동작함을 테스트 코드로 확인한다.

그리고 주어진 라이브러리와 컨벤션 규칙에 맞추어 코드를 작성해야한다.
👉 MissionUtils 라이브러리
👉 JavaScript 코드 컨벤션
👉 커밋 메시지 컨벤션

1주차 피어 리뷰

이번 2주차부터 프리코스 커뮤니티가 오픈되어 피어 리뷰를 요청할 수 있는 공간이 생겼다. 감사하게도 피드백주신 분이 계셨고, 불필요한 코드들을 발견했다.

1. 반복문, push하는 배열에는 const 를 사용하자

변수 값이 계속 바뀌니까 let 으로 작성해야된다고 생각했었는데, 반복문은 한 턴 돌 때마다 새로운 변수가 할당되는 것이고, 배열의 push는 배열 내부 값이 변하는 것이지 배열 자체가 재할당되는 것이 아니기때문에 const 를 사용한다.

2. for문 대신에 forEach, map 등 내장함수를 사용하자

코드를 구현할 때 성능도 중요하지만, 협업에서 가장 중요한 부분은 '가독성이 좋은가', '버그를 찾기 쉬운가' 이다.
단순 for문을 사용하면 가독성이 안좋고 의도를 이해하기 어려울 수 있다. 내장함수 사용을 지향하도록 하자.

3. 정규표현식에 대하여

정규표현식은 복잡한 기능을 수식으로 간단하게 구현할 수 있도록 해준다.
하지만 가독성은 완전 꽝이다. 정규표현식을 제대로 알고있지 않으면 하나하나 해석하기에 너무 어렵다. 따라서 아주 간단한 정규표현식이 아니면 지양하려고 한다.

나만 이해할 수 있는 코드는 안좋은 코드다. 오늘의 나만 이해할 수 있는 것이지 일주일만 지나도 어떤 이유로 이러한 코드를 작성했는지 까먹는다.

언제 봐도 읽기 쉬운, 이해하기 쉬운 코드를 짜야 타인이 봐도 이해하기 쉽다.

profile
어제의 나보다 성장한 사람이 되자 :)

0개의 댓글