본문 바로가기
우아한 테크코스

[우아한 테크코스] 3기 프리코스 1주차 후기

by 뜨는 해 2020. 12. 2.

 

우아한 테크코스 1주차가 끝났다.

 

1주차 과제는 "숫자 야구 게임"이었다.

 

사실 로직만 놓고 보면 쉽게 구현할 만한 것들이었고, 실제로도 그랬으나 접근 방법이 새로워서 조금은 애먹은듯....

 

예를 들어 맞춰야 하는 숫자가 "123" 이라면 예측으로 "325"를 한다고 하자.

 

그렇다면 같은 자리에 같은 숫자가 있는 경우를 "스트라이크" 같은 자리는 아니지만 존재하는 숫자의 경우 "볼"이라고 할 때 "325"로 예측을 시도한다면 "1볼 1스트라이크"가 되는 것이다.

 

이렇게 계속 범위를 좁혀 나가다 보면 맞춰야 할 수 있는 숫자를 예측할 수 있다.

 

기능 단위로 기능을 세분화 하고, 예외 처리나, 기능 처리에 대해서 굉장히 많은 고민을 했었다.

 

특히 indent가 2 이상으로 되면 안되기 때문에 함수를 여러개로 나눠서 하나의 기능만을 작동 시키게 해야하고, 함수의 이름이라던가 변수의 이름. 그리고 삼항 연산자를 쓰지 않는 것 등. 세세한 코드에 대한 제약사항을 받았다.

 

그 중에서 가장 감명 깊었던 것은 깃 커밋에 관한 부분인데, 깃 커밋에 관한 컨벤션이 존재해, 커밋 로그를 구체적이고 정갈되게 로그로 올릴 수 있었던 점. 그리고 깃의 새로운 기능을 발견했다는 것....(내가 깃을 잘 못써서 그런 것이 크다)

 

또한 이번 1주차 프리코스의 피드백이 왔다. 살펴보자면...

 


  • 이름을 통해 의도를 드러내라.
  • 축약하지 마라.
  • 개발 도구의 code format 기능을 활용해라.
  • space(공백)도 convention이다. -> (for, while, if문 사이의 공백도 컨벤션!)
  • 불필요하게 공백 라인을 만들지 않는다.
  • 구현 순서도 convention이다. -> (상수, 클래스 변수 -> 인스턴스 변수 -> 생성자 -> 메소드 순으로)
  • 반복하지 마라.
  • space vs tab 혼용하지 마라.
  • 의미 없는 주석은 달지 않는다.
  • 값을 하드코딩 하지 마라.
  • git commit 메세지를 의미 있게 작성하라.
  • 기능 목록을 업데이트하라.
  • 기능 목록 구현을 재검토하라. -> (예외적인 경우의 처리도 기입할 것)
  • README.md를 상세히 작성하라.

 

굉장히 도움이 되는 피드백이다. 불필요한 공백 라인이나, 하드코딩, 그리고 예외처리의 경우 누구나 실수할 수 있는 것들이기 때문에 조금 더 생각해보면서 코딩해야겠다는 다짐을 해본다.