간단한 문제에 대한 정답을 도출하는 과제를 만들었습니다. 그리 어렵지 않았으니 구현은 냅두고 코드리뷰를 통해 얻은 포인트만 정리 하겠습니다.
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
}
이런식으로 상수 변수를 만들어주면 확실하게 리턴 값이 어떤 값을 의미하는지 알기 쉽습니다.
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
다음과 같이 콜백함수를 축약하여 사용할 수 있도록 하여야 합니다.
과제 자체는 크게 어려운 느낌은 아니었습니다. 하지만 테스트코드를 통과하거나 테스트 케이스를 작성하는 등에 좀 어려움이 더욱 있었고 클린코드를 위한 규약을 지키는것 자체도 조금은 쉽지 않았던 것 같습니다.
그래도 과제를 한다는건 너무나도 즐거운 일인것 같습니다.