# 클린코드 작성 팁

# 클린코드란?

  • 타인이 볼때는 내가 이 회사를 나갔을 때, 다음 개발자가 코드를 알아보고 나에게 물어보지 않고 작업에 들어갈 수 있는 코드들
  • 6개월 전에 내가 고민하고 작업한 결과가 아직도 버그 없이 작동되면서, 6개월 후 내가 고민했던 과정이 모두 떠오르는 코드

# 검색 가능 한 값으로 만들라

  • 상수가 그 값으로 뜻하는 바를 모를때는 변수에 감싸라
  • 상수는 검색이 안되므로 변수로 감싸서 검색 가능한 값으로 만들라
const ONE_DAY_TIME = 1000 * 60 * 60 * 24;

setTimeout(function() {
  alert("Hello");
}, ONE_DAY_TIME);

# 함수명은 동사로 만들라

  • userData (x) -> loadUserData (o)
  • 동사로 함수를 만들면 해당 함수가 해야하는 일을 개발자가 정확히 알 수 있다.
    • 흔히 하나의 함수안에 많은 기능을 하는 로직을 만드는데, 기본적으로 함수 1개에는 1개의 액션만 수행해야한다.
    • 그러므로, 함수명을 동사로 만들면 2가지 이상 액션을 취한 함수 로직을 수행할경우 함수명과 일치하지 않기 때문에, 매우 이상한 형태가 되어 개발자가 알아서 함수내 로직을 분리하게 될 것이다.
  • 중요한 것은 함수는 1개의 기능만 사용해야 읽기가 쉽다는 것이다.

# 함수의 인자 (argument)는 몇 개가 적당한가?

  • 가장 좋은 숫자는 3개 또는 그 이하의 인자를 넘기는 것이 좋다
  • 인자가 3개를 넘을 경우 configuration object를 만들어 객체를 인자로 보내라
  • 3개 이하 인자가 함수의 역할 파악에 좋고, 총 몇개의 인자가 이 함수에 필요한지 알기 쉬운 갯수다
  • example
const params = { id: 1, name: "nkh", money: 1000 };

function buyProduct(userData, count, product) {
  console.log(userData, count, product);
}

buyProduct(params, 1, "껌");

# 불리언 값은 인자로 넘기지 않는다.

  • 불리언 값을 보낸다는 의미는 함수 내에서 if, else문을 사용한다는 의미를 가진다
  • 위에서 말한듯, 함수는 1개의 액션만 하는 것이 좋으므로, if 로직 함수, else 로직 함수를 분리하는 것이 좋다.

# 짧은 변수명이나 축약어는 피해라

  • u, i 같은 나만 알아보는 변수명은 쓰지마라
Last Updated: 3/24/2021, 8:55:12 PM