바닐라코딩 Prep 코드리뷰

roadzmoon76·2022년 5월 22일
0

고치자! 신경쓰자!

목록 보기
1/1

🛠 내가 개선할 점

1️⃣ 주차

  • 삼항연산자는 간략한 한개의 조건일 때 가독성이 더 좋은 듯 함. 조건이 늘어난다면 if문을 사용하는게 가독성이 더 좋아보임. if 문 사용시엔 default_parameter, early return 등을 활용하면 조건이 단순해질 수 있다.

  • arguments를 활용할 수도있지만, rest-parameter을 사용해보는것도 좋다.

  • 함수가 받은 인자를 바로 사용하는것은 좋지않다. no-param-reassign

2️⃣ 주차

  • 조건문이 부정인 경우를 먼저쓰면 '~가 아닌데 동시에 ~~는 아닌 경우가 아닐 때' 처럼 쓰는 사람도 헷갈리도 읽는 사람도 헷갈리는 코드를 작성할 수 있다. 논리 구조상 부정인 경우가 먼저 나와야 하는 경우가 아니라면 긍정인 경우를 먼저 쓰는것이 읽기 편하다.

  • no newline at end of file 문구는 파일의 맨 마지막에 엔터키로 한 칸을 띄어주지 않을 때 나타남. 이는 c 언어에서부터 내려온 전통인데, 맨 마지막에 \n 을 넣어줌으로 한 줄 한 줄 코드를 읽어서 실행하는 c컴파일러에게 파일의 끝을 알려줄 수 있었기 때문임. 또 여러 파일들이 터미널 창과 같은 곳에서 한번에 일렬로 붙어 내려올 때 \n이 있으면 파일 간의 구분이 조금 더 수월할 수 있다는 장점도있다. 따라서 코드 작성시 맨 마지막 라인은 엔터를 쳐서 \n을 입력해주자.

  • 변수는 어떠한 결과를 만들어내는 행위를 하는 것이 아닌, 그 행위의 결과물이기 때문에 명사로 써주면 더 좋은 변수명이 될 수 있다.

    • function은 행위를 하니까 주로 동사로 명명된다.
    • boolean은 0이냐 1이냐니까 is 혹은 has를 이용하여 주로 명명된다.
  • 조건문에서 !로 falsy 값을 나타내는데 만일 null 값만을 콕 찝어서 논리를 전개하고싶다면 ! 대신 === 기호로 엄격한 비교를 사용해야 한다. 다만 논리상에서 별 다름이 없을 경우 간략하게 쓰면 좋다.

3️⃣ 주차

  • 적절한 개행은 코드의 가독성을 높여준다. 변수 선언문과 로직 사이에 한 칸 띄워주면 좋다.

  • 특정한 숫자들은 쓰는 사람은 어떤 숫자인지 알아도 읽는 사람에겐 어떤 숫자인건지 궁금할 수 있다. 그리고 그 숫자에 쓰인 곳들에 수정이 필요할 때 일일히 찾아서 수정을 해야하지만, 상수 처리를 한다면 한곳의 수치만 변경해주면되고, 의미를 알 수 있다. 또한 상수는 보통 전역적으로 UPPERCASE로 작성한다.

  • 클린 코드 책 3장 함수 부분을 보면 함수는 한 가지 일을 해야한다고 강조한다. 일반적으로 함수는 큰 개념을 여러 단계로 나눠 수행하기 위해 작성하므로 함수 하나에서 많은 일을 하다보면 가독성도 떨어지고 문제가 생겼을 때 수정하기도 어려울 수 있다. 이 함수가 적절한가 판단할 때 함수 안의 로직이 의미있는 이름으로 대체될 수 있는가? 에 대해 고민해보고, 대체될 수 있다면 다른 함수를 작성하여 호출하는 형태가 좋다.

  • 코드의 중복은 피해주는것이 좋다. 코드가 쓸데없이 길어지기도 하고 가독성을 해칠 염려가 있기 때문이다.

  • 커밋 메세지는 커밋에 대한 내용이 포함되는 것이 좋다. 처음엔 하루 단위로 연습해보고, 나중엔 기능 단위로 해보자. angular commit message convention 를 참고해보자.

5️⃣ 주차

  • return 값이 필요하지 않다면 굳이 안써도 된다. 단순히 위의 조건문에서 return 을 썼었다고 외형적으로 균형있어보이도록 밑에도 return 을 쓸 필요는 없다. return 은 반드시 목적(early return, 값 반환 등)이 있어야한다.

  • 어차피 재할당 된 값을 쓸일이 없다면 굳이 재할당 까지 안해도 된다.

  • 결과 값을 바로 반환하여 함수를 끝내는게 좀 더 직관적이라 이해하기 쉽다.

6️⃣ 주차

  • let 으로 변수를 선언하더라도 어떤 자료형으로 사용될지 예측할 수 있도록 초기화를 해주는 것이 좋다. 참고

  • class 명으로 지정해서 선택자를 사용하는 것에 문제가 있는 경우가 아니라면, id 보다는 class 를 사용해주는것이 더 일반적이다.

  • MVC 패턴에 대해 공부해보자.

7️⃣ 주차

  • array 를 만들어서 그 array 를 요소들을 활용하기보단 length 만 활용하고 있다면 굳이 array 보단 숫자로 변수를 선언하자.(간단한 기능을 구현하는데 너무 자료형을 낭비했다)

  • 항상 코드를 잘 보고 쓸데없는 코드는 없는지, 코드 순서를 바꾼다면 줄일 수 있는 코드는 없는지 체크하자.

  • array의 맨마지막 요소를 알고싶다면, array.at(-1)을 사용할수도 있다.

  • 항상 if, else 문이 한번만 쓰였다면 삼항 조건 연산자를 적용해서 더욱 깔끔하게 만들자!

🤔 후기

해당 주차의 코멘트를 읽고 바로 적용이 될 줄 알았는데 다시한번 정리해서 처음부터 끝까지 읽어보니 그게 아니였다... 심지어 boolean 관련 변수명을 is 나 has 로 시작하게 지어야 한다는 코멘트를 3번이나 지적당했다. 분명 해당 주차 코드리뷰를 읽을떄는 이거 다음에 적용해야지!! 하는데, 어려운 과제를 맞딱드리자마자 거짓말같이 까먹는다. 또 이번 어드미션 테스트를 볼때도 let 으로 시작한 변수를 초기화 안해줬다는걸 깨달았다ㅜㅜㅜㅜ (어드미션 결과는 내일 발표되는데 정말 습관이 안고쳐지는 분이군요! 라며 탈락시켜도 할말없을듯...)

아무튼 코드 리뷰는 나의 코드 스타일을 다듬어가는데 정말 많은 도움이 되었다.

profile
크론병걸린 자퇴생, 개발자되기

0개의 댓글