본문 바로가기
Road to Developer/edwith풀스택웹개발자

29. 클린코드

by 구월에작은섬 2018. 8. 1.

클린코드에 대해 알아보자.


이름 짓기 (코딩컨벤션)


아래의 사항을 지켜 이름을 짓는다.

  • 함수는 목적에 맞게 이름이 지어져 있는가?
  • 함수 안의 내용은 이름에 어울리게 하나의 로직을 담고 있는가?
  • 함수는 동사 + 명사이며 함수의 의도를 충분히 반영하고 있는가?
  • 함수는 카멜표기법 또는 _를 중간에 사용했는가?
  • 변수는 명사이며 의미 있는 이름을 지었는가

의도가 드러난 구현패턴


어떤 코드가 좋은지 고민이라면, 내 코드를 들여다보고 그 의도가 잘 보이는지 확인해봅니다.

예를 들어, var a = value * 19.2; 이라는 코드가 있다고 봅시다.

도대체 19.2가 무엇을 의미하는지? 알 수가 없습니다.

대신 변수로 저장하고, 변수에 적절한 이름을 쓰면 더 좋습니다.



지역변수로 넣으면 될 걸 전역공간에 두지 말기


함수 내에서만 사용이 필요로 한 것은 지역변수로 만들어야 합니다.

불필요한 전역변수는 최소화해야 코드가 많아지고 수정할 때 복잡함을 줄일 수 있습니다.



빨리 반환해서 if문 중첩 없애기


function foo(pobi,crong) {
  if(pobi) { 
    if(crong) {
      return true;
    }
  }
}

위 코드를 아래 처럼 수정했다.

위 코드는 if가 한번 중첩되었지만 여러번 중첩되었다면 어떤 경우인지 쉽게 파악하기 힘들 것이다.

아래처럼 빠르게 return시켜줌으로써 좀 더 빠르게 상태를 파악할 수 있다.

function foo(pobi,crong) {
  if(!pobi) return;
  if(crong) {
    return true;
  }
}


전역변수를 줄이자


되도록이면 함수 scope 안에서 변수를 선언하자


다양한 함수에서 같이 어떤 값을 공유하면서 사용해야 한다면 전역변수로 두고 쓸 수 있습니다.

이는 전역공간을 더럽히는 것으로 나중에 디버깅이 어려울 수 있습니다.