ESLint는 ES + Lint입니다.
ES는 EcmaScript, 즉 자바스크립트를 의미하는 것이고요.
Lint는 보푸라기라는 뜻인데 프로그래밍 쪽에서는 에러가 있는 코드에 표시를 달아놓는 것을 의미합니다.
즉, ESLint는 자바스크립트 문법 중 에러가 있는 곳에 표시를 달아놓는 도구를 의미합니다.
ESLint는 사용자가 직접 정의 한대로 코드를 점검하고, 에러가 있으면 표시해줍니다.
또 문법 에러뿐만 아니라 코딩 스타일도 정할 수 있어서 팀원끼리 협업할 때 좋습니다.
팀원끼리 협업을 하는 것과 코딩 스타일이 무슨 상관이 있을까요?
사람은 저마다 코딩 스타일이 있기 때문에 여러 사람이 같이 코딩을 하면 차이가 발생합니다.
이럴 때 팀에서 하나의 코딩 스타일을 적용하고 ESLint에 설정해두면
마치 한 사람이 코딩을 한 것과 같은 결과를 얻을 수 있습니다.
표기법
프로그램 언어마다 개발하는 방식이 다 다르고, 변수명, 클래스명, 메서드명 등 표기법이 다르다는 것은 이해가 되지 않지만 분명 존재하며, 다양한 언어를 다루는 개발자들이 가장 힘들어하는 부분 중 하나입니다.
카멜(Camel) 표기법 (Camel case)
카멜(camel)은 낙타라는 의미를 가지고 있다.
한마디로 표기법이 낙타의 혹처럼 생겼다고 해서 이런 명칭을 지었다.
카멜 표기법을 대표적으로 채택한 언어는 자바(Java) 진영이며
만약 자바 언어를 개발하는데 다른 표기법을 쓰는 사람이 있다면
십중팔구 주언어가 다른 언어인 사람인 경우가 많다.
int mathScore;
public void getMathScor(int mathScore) {
return mathScore;
}
위 코드를 보면, 처음에는 소문자로 시작하며 2번째 단어부터는
첫 글자가 대문자로 시작하는 것을 볼 수 있다.
참고로 조합하는 단어는 보통 명사를 사용해야 하나, 메서드를 첫 번째 시작하는
단어는 동사로 시작하는 것을 권장하고 있다. (ex) select, get, put, search 등
파스칼 표기법 (Pascal case)
파스칼 표기법은 자바 진영에서도 사용하지만, 이 표기 만큼은 파이썬 진영에서도 사용하는 방식이다.
카멜 표기법이 처음 글자를 소문자로 하는 것과 달리 처음단어도 대문자로 시작을 한다.
그래서 이 표기법을 쌍봉낙타(혹이 2개 달린) 표기법 이라고도 불립니다.
자바에서 파스칼 방식의 클래스명
public class CommonUtil {
...
}
파이썬에서 파스칼 방식의 클래스명
class Calculator:
def __init__(self):
...
헝가리언 표기법 (Hungarian Notation)
헝가리언 표기법은 C언어 진영에서 주로 사용했던(최근에는 지양하는 분위기) 방식으로 변수명 아예 자료형을 붙이는 것이다. C언어는 그 어떤 언어보다 사용자가 정의(메모리를 할당/해제한다던지)를 하는 스타일이기 때문에 자료형이 명확한 것이 매우 중요하다.
int iMath = 50;
str strName = "홍길동";
그러나 이 방식은 변수명의 자료형이 바뀌게 된다면 싹 다 뜯어고쳐야 된다는 문제가 있기 때문에 최근에는 카멜이나 스네이크와 같은 표기법으로 넘어가는 추세이다.
참고로 헝가리언 표기법인 이유는 이 표기법을 만든 사람이 마이크로소프트 개발자로 헝가리안이었기 때문에 붙여진 방식이다. MS는 그동안의 의리를 지키고 싶은 건지 Windows API 같은 것을 보면 헝가리언 표기법을 사용하는 것을 볼 수 있었다. 하지만 최근에는 헝가리언 표기법을 쓰지 말라고 .NET 프레임워크는 명명규칙에서 못을 받은 것을 보면 이제는 사망선고를 하는 게 맞는 듯하다.
스네이크 표기법 (Snake case)
땅바닥을 기어다니는 뱀의 모습을 따온 것으로 단어는 모두 소문자로 쓰되 단어 간의 구분은 밑줄로 대체를 하는 방식이다.
최근 이 방식을 C, C++, Python, R 등에서 사용하고 있으며 Java 쪽도 몇몇 부분 (전역 변수나 상수 등)은 다른 언어랑 구분하기 위해서 스네이크를 쓰기도 한다 다만 다른 점은 대문자를 쓴다는 차이이다.
math_score = 50
user_name = '홍길동'
def add_score:
...
다만 C언어 진영과 파이썬 진영에서 약간 차이가 나는 점은 C/C++ 진영은 클래스 명칭도 스네이크 표기법을 사용하지만 파이썬 진영은 파스칼을 쓴다는 차이가 나타난다.
케밥 표기법 (Kebab case)
케밥에서 꼬치 모양을 딴 것으로 전반적으로 스네이크와 유사하며 다만 차이점은 언더바(_) 대신 하이픈(-)을 사용한다는 점이다.
하지만 많은 언어가 하이픈을 지원하지 않기 때문에 사용하는 예는 상당히 제한되어 있다.
주로 프로퍼티(properties)에 값을 설정한다던지, CSS에서 쓴다던지 혹은 HTML에서 일부 사용은 하고 있다.
<style>
h1 {font-size:15px;}
#idSelector {font-weight:bold;}
.classSelector {color:purple;font-size:11px;}
</style>
'Be Smart > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 async와 await (0) | 2022.01.11 |
---|---|
[JavaScript] 자바스크립트 Promise 쉽게 이해하기 (0) | 2022.01.11 |
[JavaScript] 자바스크립트 비동기 처리와 콜백 함수 (0) | 2022.01.11 |
자바스크립트로 로컬 파일 접근(읽기) (0) | 2021.08.05 |
댓글