BE THE DEVELOPER

10월 22일: 2주차 프리코스 알아보고 기능 정리하기 본문

일기장/우아한테크코스 7기

10월 22일: 2주차 프리코스 알아보고 기능 정리하기

미역굳 2024. 11. 5. 18:00

1주차가 마무리되고, 오늘 또 2주차 프리코스가 올라왔다. 2주차 프리코스와 함께 1주차 공통 피드백도 함께 올라왔다. 이번에는 기능 관련해서 최대한 빠르게 정리하고, 개발을 우선적으로 진행해보려 한다.

 

시간이 되면 1주차 공통 피드백 내용에 있는 것들도 정리해봄직 하다.

둘러보기: 내가 해야할 것들 정리하기

회고

이번에 따로 중간 회고를 작성하여 제출해야 한다. 아마도 2주차 제출할 때 소감 작성하는 란에 함께 적어야 하는 듯하다. 회고에 써야하는 내용은 다음과 같다.

  • 지원서에 작성한 목표를 얼마나 달성하고 있다고 생각하나요? 그 이유는 무엇인가요?
  • 지원서에 작성한 목표를 변경해야 한다고 생각하시나요? 그렇다면 그 이유와 어떤 목표로 변경하고 싶으신가요?
  • 프리코스를 진행하면서 눈에 띄는 변화나 깨달은 점이 있나요?

이걸 작성할 때 고려해야 할 점은 (1) 내가 목표로 작성했던게 무엇인가? (2) 내가 성장하고 있다고 생각하는가? 이다. 이 부분을 집중적으로 생각해야할 듯 하다.

기능 요구 사항

매번 랜덤한 값으로 자동차들이 경주를 하여, 우승자를 가려내는 프로그램을 작성하는 것이다. 발생할 수 있는 에러 케이스들을 생각나는대로 미리 작성해보려 한다.

 

예상되는 에러 처리

  • 자동차가 0대, 혹은 6대 이상 입력됐을 경우
  • 자동차의 이름이 0자, 혹은 6자 이상 입력됐을 경우
  • 전진하는 횟수가 음수, 혹은 0번일 경우 (0번이 가능할지는 조금 더 고려해야 할 듯.) 

 

특이 사항

이번 학습 목표는 함수를 잘 이용해야 하는 듯하다. 함수형 프로그래밍이 뭔지 알아볼 필요가 있을까? 저번 과제에서 함수로 모두 구분했다가 다시 합쳐버렸는데, 이번에는 함수들을 잘 이용해야 한다.

테스트 도구 또한 저번처럼 이미 작성된 코드를 이용하는 것이 아닌, 내가 새로운 것들을 도입해서 이용할 수 있는 듯하다. 외부 라이브러리를 사용하지 못하므로 Jest 관련한 공부가 필요한 것으로 보인다.


이번엔 프로그래밍 요구사항이 2개이다. 뎁스가 3을 넘어서는 안되며, 3항 연산자를 사용하지 못한다고 한다. 아마 이번 구현 난이도를 높이는 역할을 하지 않을까 싶다. 뎁스가 2까지라는건 함수 내에 if문 하나만 이용할 수 있는 수준이다. 따라서 설계할 때 함수를 어떻게 이용해야 할지를 잘 고려해야 할 듯하다.

피드백 내용: 1주차 프리코스 피드백 정리

프로젝트 관리 관련

GitHub에 올릴 때, node_modules가 올라갈 필요는 없다. 아마 평소에는 .gitignore에 적혀 있었을텐데, 이번에는 주어진 코드에서 짜다보니 자동으로 올라갔을 가능성이 커보인다.

.gitignore에 필요없는 파일들이 올라가지 않도록 설정해야 한다. 또한 package-lock.json의 역할에 대한 공부가 필요하다고 한다. 물론 실제 코드를 짜는데 달라지는 건 아니지만, 의존성 관련한 내용을 배워서 나쁠게 없다고 생각한다.

  • [ ] package-lock.json과 의존성 트리에 관한 내용 찾아보기

커밋 메시지를 조금 더 의미있게 작성할 필요가 있다. 사실 1주차 때는 마지막에 몰아서 커밋하다보니 그냥 단순하게 작성한 듯한데, 조금더 의미 있는 커밋 메시지를 만들기 위한 공부가 필요하지 않나 싶다.

또한 커밋 메시지에 이슈나 PR번호가 들어가지 않도록 작성해야 한다고 한다. 물론 난 넣지 않았지만 주의해야할 부분인 듯하다.

오류 관련

오류를 찾을 때 출력 함수 대신 디버거를 사용한다.

사실 나는 디버거를 제대로 사용해본 적이 없기에 하나하나 console.log를 사용하여 확인했었다. 이참에 디버깅을 어떻게 해야하는지 확실하게 배워놓을 필요가 있다는 생각이 들었다. 아래는 제시해준 링크들이다.

코딩 컨벤션 관련

함수나 변수 이름을 조금더 의미 있게 지어야 한다. 이름이 길어지더라도 의도를 명확히 하는 걸 목표로 하여, 글자 길이에 너무 강박을 가지면 안되겠다.

기본적인 공백이나 공백 라인은 감각에 맞기기는 해야하겠지만, 너무 과하게 들어가지만 않도록 할 필요는 있어보인다.

코드 포매팅을 제대로 이용해보자. VS Code에서는 shift + option + F를 통해 자동 정렬을 할 수 있다고 하니 적극 이용해보자.

개발 세팅

오늘은 개발 세팅까지 마무리해보고, 내일부터 설계 및 개발을 바로 진행해보려 한다.