이번 주차부터 미션에 대해 코드 리뷰를 주고받을 기회가 생겼다. 이전에도 코드 리뷰 경험은 있었지만, 알고리즘 문제에 대한 리뷰였기 때문에 이번 미션 리뷰는 새로운 경험이었다. 덕분에 "다른 사람들은 어떤 방식으로 코드를 작성하는지, 어떤 기준으로 리뷰를 하는지"에 대한 궁금증을 해소할 수 있었다.
특히, 1주차 미션 PR을 보고 스터디원 분들과 피드백하는 시간을 가졌는데, 그 과정에서 내가 작성한 코드에 대해 질문을 받았을 때 명확한 이유를 대지 못한 경험을 통해 "내가 왜 이렇게 작성했는가?"라는 이유를 항상 가지고 있어야 함을 깨달았다. 1주차에 받은 코드 리뷰 중 대부분 함수가 너무 많은 작업을 하고 있을 때 적절히 분리하는 것이 필요하다는 피드백을 받았고, 이를 통해 내가 작성한 코드에 필요한 개선점을 분명히 알 수 있었다.
이 피드백을 바탕으로 2주차 미션에서는 클래스와 메서드가 단일 책임 원칙을 지킬 수 있도록 최대한 작은 단위로 분리하며 구현했다. 그 결과, 1주차 미션보다 코드가 훨씬 깔끔해졌고, 스스로 조금 더 성장했다고 느낄 수 있었다. 이번 코드 리뷰와 스터디가 발전하는 계기가 되어 앞으로 남은 시간에도 적극적으로 코드 리뷰에 임하고 싶다!
이번주 미션을 진행하면서 SOLID 원칙 중 SRP 원칙만 이해하고 적용해봤습니다. 코드 리뷰 과정에서 isNaN()과 Number.isNaN()의 차이점을 알게 되어 해당 내용을 정리했습니다.
단일 책임
또는 단일 작업
또는 단일 목적
을 가져야 한다// 실제 이번 미션에 사용한 Car 클래스
class Car {
constructor(name) {
this.name = name;
this.moveForwardCnt = 0;
}
getMoveForwardCnt() {
return this.moveForwardCnt;
}
getCarName() {
return this.name;
}
moveForward() {
const randomValueForMovement = Random.pickNumberInRange(0, 9);
if (randomValueForMovement >= 4) this.moveForwardCnt += 1;
}
}
isNaN()
Number.isNaN()
Number.isNaN() 메서드는 매개변수를 강제로 숫자로 변환하지 않습니다.
이로 인해 일반적으로 NaN으로 변환되지만 실제로는 NaN과 같은 값이 아닌 값들을 안전하게 전달할 수 있습니다. 또한 이는 NaN인 Number 타입의 값만이 true를 반환한다는 것을 의미합니다.이번 주차 미션에서 과제 진행 요구 사항, 기능 요구 사항, 입출력 요구 사항은 잘 해결했지만, 프로그래밍 요구 사항 중 Jest를 사용해 기능 목록이 정상적으로 작동하는지 테스트 코드를 작성해 검증한다는 부분을 충족시키지 못했다. 1주차에 Jest를 사용한 분들의 코드와 참고 자료는 충분히 있었고, 초반에 테스트 코드를 작성하기도 했다. 그러나 아직 테스트 코드를 작성하는 것이 익숙하지 않다는 이유로 나중에 한 번에 작성해야겠다고 미루다가 미션 제출 마감일이 되었을 때, 에너지가 방전되어 미션에 집중할 수 없었다.
우테코 프리코스와 알바, 다른 그룹 스터디, 그리고 결혼식 참석 등으로 바쁜 일정을 소화하다 보니 정신적으로 지쳐 아무것도 할 수 없는 상태라고 느꼈다. 그래서 쉬는 것을 선택했는데, 쉬지 않으면 3주차 미션도 제대로 수행하지 못할 것 같아서 잠시 시간을 보내며 회복을 시도했지만 결국 테스트 코드를 작성하지 못한 채 과제를 제출하게 되었다.
남은 2주차에는 우테코 프리코스에 집중할 수 있도록 개인 약속을 최소화하고, 틈틈히 스트레스 관리를 위해 독서와 운동을 해야 하지 않을까 싶다. 앞으로는 에너지 방전되지 않게 관리하여 우테코 프리코스에 몰입해보려 한다.
3주차에는 에너지가 방전되어 미션 요구 사항을 충족하지 못하는 상황을 피하고 싶다. 이를 위해 개인 약속을 최소화하고, 독서와 운동을 통해 스트레스를 관리할 예정이다. 심리 관련된 책을 읽으면 마음이 안정되기 때문에, 3달 전에 읽다가 만 책인 정리하는 뇌를 읽어야겠다. 불안한 감정이 생기면 잠으로 해결하지 않고 10분 산책을 통해 해소할 계획이다.
또한, 미션 요구 사항을 놓치지 않기 위해 데일리 스크럼 시간에 지금까지 진행한 일을 점검하고, 요구 사항을 한 번 더 읽어 빠진 부분이 없는지 확인할 것이다. 이렇게 지속적으로 요구 사항을 상기시키며 미션을 수행하면 2주차의 실수를 반복하지 않을 수 있을 것이라고 생각한다. 3주차에는 우테코 프리코스를 가장 우선순위로 두어 몰입하고, 최대한 성장할 수 있도록 노력할 것이다.