ESLint 가 지키는 JavaScript 의 규율
요약
찾아내는 도구가 아니라 정한 것을 계속 효력을 갖게 하는 도구다. 어떤 규칙이든 끌 수 있고 내릴 수 있고 오류로 올릴 수 있다. 확장이 틀별 사각을 메우고, 같은 설정이 화면에서도 흐름에서도 돈다. 무료 공개물이며 이 세계에서 가장 실행 가능한 공동 기준에 가깝다.
추천- 이름
- ESLint
- 버전
- 10.11
- 요금
- 무료
- 오픈소스
- 오픈소스
- 운영체제
- Node.js编辑器扩展
- 공식 사이트
- https://eslint.org/
- 업데이트
- 2026-10-08 20:51
코드를 위한 신호등
사람이 열 명을 넘어서면 어느 모임에서나 같은 방식으로 느슨해진다. 어떤 문서는 줄 끝에 표시를 붙이고 옆 문서는 붙이지 않는다. 쓰지 않는 이름을 남기는 사람이 있고, 세 단계 밖에서 이미 쓴 이름을 안쪽에서 다시 선언하는 사람도 있다. 기다림을 던져 두고 실패를 받는 사람이 아무도 없는 자리도 생긴다. 어느 것도 오늘의 조립을 멈추지는 않는다. 그러나 반년 뒤에는 반드시 누군가 그 때문에 반나절을 잃는다. 검토 작업으로는 이 규모의 문제를 다 줍지 못한다. 커밋마다 나타나기 때문이다.
도구의 방식은 소박하다. 원래의 글을 한 줄씩 읽고 규칙과 맞춰 본다. 규칙마다 한 가지 모양만 맡는다. 쓰이지 않는 이름, 받는 사람이 없는 기다림, 늘 참이 되는 비교, 끝내 지나가지 않는 갈래. 걸리면 자리와 규칙 이름과 무게를 알린다. 무게 칸은 가볍게 보이기 쉽다. 규칙은 같은 무게가 아니고, 모두가 같은 크기로 울리는 보고는 보고가 없는 것과 비슷하다.

규칙은 취향이 아니라 설정에 적는다
앞선 검사 도구와 다른 점은 거의 무엇도 고정되어 있지 않다는 것이다. 어떤 규칙이든 끌 수 있고, 경고로 내릴 수 있고, 오류로 올릴 수 있다. 저마다 자기 인자를 가진다. 어떤 표기를 좋아하지 않는 모임은 그것을 끄고 일을 이어 간다. 어떤 유형의 결함에 크게 다친 모임은 그 규칙을 오류로 올리고 이후로는 그것을 두고 이야기하지 않는다.
넓히는 방식도 같은 생각에 선다. 틀에 딸린 문제는 중심에 밀어 넣지 않고 각각 다른 묶음이 된다. 형과 관련된 검사, 부품과 관련된 검사, 나아가 틀마다, 시험 도구마다의 묶음. 필요한 것만 넣으면 설정은 짧게 유지된다. 적혀 있는 것이 실제로 돌아가는 규칙뿐이기 때문이다.
같은 규칙 묶음을 두 곳이 쓴다. 편집 화면에서는 치는 동안 표시가 붙고, 위에 올리면 규칙 이름이 나온다. 고치는 일의 대부분이 검토의 지적에서 몇 초의 손질로 바뀐다. 통합 흐름에서는 같은 설정이 보관소 전체를 걸어가고, 오류가 나오는 순간 조립을 멈춘다. 화면은 쓴 사람이 아직 앞뒤를 기억할 때 잡는다. 흐름은 지친 사람이 그냥 넘긴 몫을 잡는다.

이 세대에서 달라진 것
설정을 적는 방식이 바닥부터 새로 만들어졌다. 물려받기의 사슬과 두는 자리로 암묵에 정해지던 범위라는 옛 모양은 물러나고, 평평한 배열로 바뀌었다. 각 항목이 어느 문서에 적용되는지를 스스로 밝힌다. 앞뒤가 잘 보이고, 원인을 쫓기 쉽고, 읽어 들이는 속도도 빠르다. 대신 한 번짜리 이사가 필요하다. 많은 현장은 이미 마쳤다.
자동 손질의 폭도 같은 기회에 넓어졌다. 많은 규칙이 문제를 가리키는 데 그치지 않고 글 자체를 다시 쓴다. 다시 쓰기는 조심스러워서 모르는 사이에 동작을 바꾸지 않는다. 검토에서 가장 값어치가 낮은 이야기, 곧 들여쓰기와 따옴표를 맞추는 일은 저장할 때와 올리기 전에 두 번 돌려 두면 거의 사라진다.
규칙 묶음의 값어치는 그 뒤에 있는 합의의 값어치와 같다. 도구가 보장하는 것은 하나뿐이다. 한 번 정하면, 정한 사람들이 모두 다른 현장으로 옮겨 간 뒤에도 그 합의는 계속 살아 있다.
이런 종류의 심심한 토대에서는 운영의 모양이 힘을 낸다. 공개 재단 아래에 있고, 판의 간격을 읽을 수 있고, 호환을 깨는 변경에 대한 방침도 공개되어 있다. 그래서 큰 보관소도 한 분기의 기능 만들기를 멈추지 않고 주 버전을 올릴 수 있다.
힘을 쓰는 곳, 쓰지 못하는 곳
개인이라면 잘 가꾼 배포 설정을 넣는 것만으로 첫 커밋 전에 한 종류의 결함을 통째로 피한다. 모임에게 그 값어치는 결이 다르다. 공동 문서에 둔 표기 지침은 급한 일이 없으면 지켜진다. 같은 지침을 규칙으로 적으면 밀어 올릴 때마다 모두에게 돌아간다. 지난주에 합류한 사람에게도 똑같이 돌아간다.
경계에도 같은 만큼의 주의를 기울이자. 이것은 글 안의 모양을 맞춰 보는 도구이고, 형 검사도, 시험을 대신하는 것도 아니다. 어떤 함수가 실행 중에 다른 모양을 돌려준다는 것을 알려 주지 않고, 어떤 기능이 깨졌다는 것도 알려 주지 않는다. 설계를 나아지게 해 주지도 않는다. 규칙이 삼백 개이고 시험이 하나도 없는 보관소는 여전히 시험이 하나도 없는 보관소다.
무게를 정하는 일은 규칙을 고르는 일만큼 중요하다. 처음에는 경고로 두고, 실제로 여러 번 울리는 것만 오류로 올린다. 반대로 하면 첫날부터 붉은 화면이 되고 아무도 읽지 않는다. 오류로 올린 규칙에는 그 이유를 한 줄 남긴다. 반년 뒤 그것을 내리고 싶은 사람의 판단을 그 한 줄이 돕는다.
전부를 한 번에 갖추기보다 차례를 두는 편이 실속이 있다. 먼저 누군가 가꾸는 설정에서 시작해 일주일은 보고만 하게 하고, 실제로 무엇이 울리는지 본다. 진짜 문제를 잡은 규칙은 올리고, 소음만 낸 규칙은 끄고, 나머지는 정해진 간격으로 다시 본다. 모두가 무시하는 요령을 배운 규칙은 규칙이 없는 것보다 나쁘다. 보고를 무시하는 버릇을 모임에 가르치기 때문이다.