느지막한 우테코 프리코스 1주차 회고

엄강우·2022년 11월 9일

1주차엔 무엇을 했을까?

간단한 문제에 대한 정답을 도출하는 과제를 만들었습니다. 그리 어렵지 않았으니 구현은 냅두고 코드리뷰를 통해 얻은 포인트만 정리 하겠습니다.

어떤 점이 나에게 부족했는가

  1. 하드코딩
    크롱이 크면 1을 작으면 2를 같으면 0을 리턴하는 함수가 있다고 합시다.
function getBattleResult(crong, edy) {
  if (crong > edy) return 1
  if (crong < edy) return 2
  return 0
}

이런식으로 코딩을 햇습니다. 그러면 이 코드를 읽는 다른 사람 입장에서는 이게 1과 2과 0이 무엇을 의미하는지 이해하는데 다소 시간이 걸립니다.

const CRONG_WIN = 1
const CRONG_LOSE = 2
const CRONG_DRAW = 3

function getBattleResult(crong, edy) {
  if (crong > edy) return CRONG_WIN
  if (crong < edy) return CRONG_LOSE
  return CRONG_DRAW
}

이런식으로 상수 변수를 만들어주면 확실하게 리턴 값이 어떤 값을 의미하는지 알기 쉽습니다.

  1. 콜백 함수 축약하기
const arr  = [1,2,3,4,4]

function add2(num) {
  return num + 2
}

const added2Arr = arr.map((num) => add2(num)))  // bad
const added2Arr = arr.map(add2)  // good

다음과 같이 콜백함수를 축약하여 사용할 수 있도록 하여야 합니다.

  1. 변수명 길게 쓰더라도 알아볼 수 있게.
    변수명이 길어진다는 이유로 추상적이게 선언을 많이 했었는데 조금 더 길게 쓰더라도 디테일하게 선언하는 것이 더 좋을 것 같음을 느꼈습니다.

소감

과제 자체는 크게 어려운 느낌은 아니었습니다. 하지만 테스트코드를 통과하거나 테스트 케이스를 작성하는 등에 좀 어려움이 더욱 있었고 클린코드를 위한 규약을 지키는것 자체도 조금은 쉽지 않았던 것 같습니다.
그래도 과제를 한다는건 너무나도 즐거운 일인것 같습니다.

profile
안녕하세요 프론트엔드 개발자를 꿈꾸는 엄강우입니다.

0개의 댓글