클린 코드 만들기

이시우·2021년 3월 1일
1

컴퓨터 지식

목록 보기
9/17

클린 코드란 ?

  • 좋은 코드란 실행이 잘 되는 코드가 아니라 코드 자체로 부가 설명이 필요 없는 코드이다.
  • 팀 프로젝트를 진행할 때 팀원들이 읽기만 해도 이해가 되는 코드랑 작성자가 부가적으로 설명을 해줘야 하는 코드가 있다면? 당연히 전자가 좋은 코드다.
  • 보기만 해도 이해가 되기 때문에 부가적으로 시간을 투자할 필요가 없고, 그로인해 생산성이 향상되고 각자의 업무에 집중할 수 있다.
  • 이러한 이유 때문에 클린 코드 작성은 중요하다 !

실제로 팀 프로젝트를 진행했을 때 클린 코드가 아니라 보기도 힘들고( 가독성이 떨어지고 ) 서로에게 계속 설명이 필요했었다.
기존 프로젝트도 클린 코드로 수정이 필요하고 앞으로 진행할 프로젝트도 클린 코드 + 테스트 코드로 작성해야겠다.

클린 코드를 작성하는 5가지 방법

1. 검색이 가능한 이름 사용하기

  • 변수를 단순하게 숫자로 쓰지 말고 무엇을 위한 변수인지 정의하자.
  • 예를 들어 하루를 초단위로 정의하면 86400초 이다.
    86400 이라고 쓰지 말고 const SECONDS_IN_A_DAY = 86400;으로 정의 후 함수 안에 SECONDS_IN_A_DAY를 넣어주는 것이다.
  • 이렇게 정의하면 처음 보는 사람도 이해하기 쉬워진다.

2. 함수명은 동사로 사용하기

  • UserData() X LoadUserData() O
  • 동사로 이름을 짓다보면 함수가 어떤 일을 하는지 알 수 있고 너무 많은 일을 하는 것은 아닌지 판단할 수 있다.
  • 함수는 한 개만 잘하면 된다. 너무 많은 것을 하려고 하면 안된다.

    이걸 보고 느낀 점은 내가 전에 프로젝트에서 작성했던 AJAX 코드였다.
    게시판을 ajax로 작성하면서 if문을 이용해 비교해야할게 많았는데 이제와서 생각해보면 ajax 하나에 if문을 사용하지 말았어야했다.
    javascript를 이용해 함수를 만들고, ajax안에 넣어줘야했었다.
    내 ajax는 너무 많은 일을 하고 있었다..

3. 인수(argument)는 3개 이하를 사용하기

  • 너무 많은 인수를 사용하면 어떤 인수가 어떤 일을 하는지 헷갈리게 된다.
  • 하지만 필요에 따라 많은 인수를 요구하게 되는 경우가 있는데 그럴 경우에는 한 개의 configuration object를 이용한다.
  • 나쁜 예
  • 좋은 예

4. boolean 값을 인수로 함수에 보내지 않기

  • boolean 값을 사용하는 것은 if, else를 사용하는 것인데 if, else값을 각각 다른 함수로 분리하는 것이다.

  • 2번과 비슷하다면 비슷한 맥락인데, 함수는 한가지 일만 할 수 있도록 하는 것이다.

  • 나쁜 예

  • 좋은 예

5. 짧은 변수명과 축약어를 쓰지 않기

  • 모두가 읽기 편하도록 이름을 정확히 써야한다.
  • 변수명 e가 아니고 email로 작성한다.
  • e라고 작성하면 아무도 모른다. 모두 이해할 수 있게 작성해준다.

클린 코드 작성시 주의사항

코딩을 시작할 때 부터 클린 코드에 집착하지 말자.
처음부터 클린 코드를 작성하며 기능을 만들면 좋겠지만 그렇게 코딩을 하기 시작하면 양 쪽 모두 놓칠 수 있다.
기능도 작동하지 않고 클린하지도 않은 코드.... 최악이다.
우선 기능에 초점을 맞추고 코드를 작성하고 클린 코드로 다듬어가는 과정이 필요하다.
클린 코드 작성도 코딩의 과정 중 하나라고 생각하고 코딩을 하면된다.
마지막 단계라고 생각하고 !

참조 : 노마드코더 유튜브 - 클린코드

1개의 댓글

comment-user-thumbnail
2021년 3월 1일

함수작성과 네이밍에 대한 요점이군요. 코드리팩토링하면서 이름 때문에 애먹고 있습니다. 좋은 글이네요

답글 달기