본문 바로가기

Coding/TIL (Today I Learned)

함수이름 앞에 언더바(_)를 쓰는 이유

함수 명 앞에 _ 언더 바가 있는 코드를 발견했다. 왜일까?

var printArray = function() {
  function _print(targetArr) {  //왜 print가 아니라 _print로 썼을까?
   //코드생략
    }
  }
  _print(arguments[0]);
};

코딩 컨벤션(스타일 가이드)

함수명 앞에 _ 언더바를 붙여주는 것은 일종의 코딩 컨벤션이다.

코딩 컨벤션이란 프로그래밍 언어별로 권장하는 코딩 규칙(스타일)이다. 예를 들면 구글에서 권장하는 방식은 링크를 통해 확인할 수 있다. 반드시 따라야 하는 룰이라기 보다는 이해하기 쉬운 코드를 작성하기 위한 가이드 정도로 참고해서 활용할 수 있다.

보통은 지역변수나 sub function일 경우 이름앞에 언더바를 써 주는데 이는 자바스크립트의 경우 접근 제한자(public, private)가 없기 때문에 변수명으로 사용범위를 나타내는 것. 그렇다면 일반적인 함수 이름에 관한 가이드는 대체로 어떤 게 있을까?

 

함수 이름

  • 동사를 사용하여 작성한다. (ex. getElement(), setOption()...)
  • Private 메소드 인 경우 메서드 이름 앞에 언더스코어(_)를 사용한다. 
  • 카멜 표기법을 준수한다. 복합어 이름은 첫 번째 단어를 소문자로 작성하고, 두 번째 이상의 단어 첫 글자를 대문자로 작성하여 단어를 구분한다.
  • 함수 이름의 첫 글자로 연속된 두 개의 언더스코어(__) 기호와 달러 기호($)는 사용하지 않는다.
  • Getter, Setter 메서드는 반드시 'get + 멤버 변수 이름', 'set + 멤버 변수 이름' 형식으로 작성한다. getElement(); isChecked(); setOption();
  • 이벤트 핸들러 메서드는 _on + 이벤트명으로 시작하도록 정의한다.