JS 코딩 컨벤션 외않되?

코딩컨벤션 ?

  • 코딩컨벤션이란 쉽게 설명해 내가 작성한 코드를 다른 사람들도 쉽게 이해하기 위해 개발자들간 서로 정해놓은 코드 작성법 or 일종의 코딩 스타일 규약이다 !

외 코딩컨밴션 지켜야 헤 ?ㅠ

  • 결국 개발자의 모든 업무에서 많은 영역을 차지하는 것이 바로 유지보수!
  • 또한 그 유지보수를 그 소프트웨어를 개발한 담당자가 직접 하는 경우도 있지만 다른 누군가가 하는 경우도 있음
  • 따라서 코드를 작성 할 때 정해진 표준의 규칙과 방법이 있다면 누군가가 해당 소스코드를 보았을 때 가독성이 좋아 더 빠르게 코드를 이해 할 수 있고, 완벽히 이해할 수 있다는 장점이 있다!

코딩 컨벤션은 절대적인가 ?

  • 코딩 컨벤션에는 각 언어별 표준이 있고, 작게는 회사 표준, 더 작게는 부서 by 부서의 코딩 컨벤션이 있다고 한다 !
  • 따라서 코드 작성에는 완벽한 포맷이 없고 함께 협업하는 사람들과 코딩컨벤션을 맞추면 된다 !

자바스크립트의 코딩 컨벤션

  • 자바스크립트는 타 언어들에 비해 동적인 문법을 가지기 때문에 개발자간 통일된 규약이 없다면 코드의 의도를 파악하기 힘들다

  • 아래에서는 내가 새롭게 알게 되었거나 자주 놓쳤던 코딩 컨벤션에 대해서 설명하려 한다.

1. 맴버변수 or private 변수는 _ (언더바)로 시작한다

  • 맨처음 코드를 공부 할 때 어디에는 _가 붙어있고, 또 어디에는 안 붙어있는 변수나 함수를 보고 뭐지 ? 라는 생각 후 아무렇게나 _ 를 붙이면서 코드를 막 작성했더니 팀장님께서 친절하게_(언더바)의 코딩 컨벤션을 알려주셨던 기억이 .. ㅎㅎ
    let _privateValue;
    let _privateFunction();

    // object의 경우
    _privateObject = {}

    // object 내부 프로퍼티
    _privateObject._privateProperty;

2. 선언과 할당

  • 자바스크립트에서는 더더욱이나 중요한 개념일텐데 값이 변하지 않는 상수의 값은 const 값은 변하나 재선언이 불가능한 값은 let 그리고 재선언과 재할당이 가능한 var
  • constlet은 사용 시점에 선언 및 할당을 진행한다
  • 또한 constlet을 동시에 선언 해야할 때는 const를 먼저 선언한다. 이렇게 되면 재할당이 되지 않는 변수를 쉽게 파악 할 수 있음으로 코드를 읽기에 더욱 편하다
  • var 사용 시 블록스코프 안에서 변수를 선언하지 않는다

3. 배열과 객체

  • 배열과 객체를 생성 할 때 리터럴 표기법으로 선언한다
  • 리터럴 표기법은 짧고 명확하며 실수를 줄일 수 있다
// good
const goodObj = {}
const goooArr = []
// bad
const badObj = new Object()
const badArr = new Array()

4. 개행

  • 객체의 프로퍼티가 1개인 경우에만 한 줄 정의를 허용하며, 2개 이상일 때는 개행을 강제 한다
  • 매번 코드가 짧아보이려고 2~3개의 프로퍼티를 가진 객체를 생성할 때 한줄로 적고는 했는데 강제 라는 말을 보고는 큰 충격을 받았다 ... (정말 마음대로 코딩했던 나...)
  const obj = {
    a: 1,
    b: 2
  }
  • 매서드 문법을 사용시 매서드 사이에 개행을 추가한다

5. 함수

  • 함수 생성자를 사용하여 선언하지 않는다
// Bad
const badFunc = new Function()

// good
const goodFunc = function() {
 return 1
}
  • 함수표현식 보다는 화살표 함수를 사용한다
  • 함수 중간에 예외처리가 있을 때 예외처리에 사용되는 변수는 선언만 진입부에 하고 할당은 사용 시점에 수행한다

6. 배열 복사 시 순환문을 사용하지 않는다

  • 복잡한 객체를 복사 할 때는 전개 연산자를 사용하면 좀 더 명확하고 가독성이 좋은 코드를 작성 할 수 있다.

기타

  • return 문 바로 위는 한칸 비워 놓는다
  • 삼중등호 연산자 (!=, ===)만 사용한다
  • 주석은 설명하려는 구문에 맞춰 들여쓰기 한다
  • 키워드, 연산자, 다른 코드 사이에는 공백이 있어야한다

마치며..

코딩컨벤션을 조금을 알게 된 후 나의 코드를 다시보니.. 코드를 작성 할 떄 일관성도 없고 어떤 의미를 내포하는지 쉽게 파악하지 못하는 것이 눈에 막 보이기 시작한다.. 얼른 기본적인 부분들에 대해서 리펙토링해야겠다.. 매번 제 코드를 봐주시는 팀장님 감사합니다 ..ㅠ!

좋은 웹페이지 즐겨찾기