ESLint는 나에게 쓸모없는 것 같습니다. 사용해야 하나요?
3808 단어 eslintbeginnersjavascript
나쁜 형제는 아니지만 나에게는 ESLint가 큰 문제가 아닌 것 같습니다. 내 프로덕션 코드는 linting 없이 2년 동안 실행되었습니다. 지금 사용해야 하는 이유는 무엇입니까?
먼저 사실임을 말씀드리고 싶습니다. 보푸라기 없이 JavaScript로 작업할 수 있습니다. 실제로 Linting 없이 모든 프로그래밍 언어로 작업할 수 있습니다. 모든 잘못된 구문은 오류를 유발하므로 코드를 게시하기 전에 수정해야 합니다.
그러나 내 경험상 linter의 가장 유용한 기능은 앱을 한 사람이 작성한 것처럼 보이게 만드는 것입니다. 모든 개발자는 고유한 스타일을 가지고 있으며 ESLint를 사용한다는 것은 JavaScript 코드 베이스가 어떻게 보여야 하는지에 대한 서면 동의를 갖는다는 것을 의미합니다.
좋아, 나는 그것을 이해한다. 그러나 코드 스타일만으로는 나를 설득하기에 충분하지 않습니다.
console.log() 를 정리하는 것을 잊은 커밋을 한 적이 있습니까? ESLint는 이러한 코드를 포착하고 오류를 반환할 수 있습니다.
야, 이제 말하니까, 가끔 내가 그렇게 해..
예, 때때로 개발자는 하루 종일 편집기를 보느라 지쳤습니다. 작은 실수지만 그럼에도 불구하고 수정해야 합니다. 또한 때때로 우리는 사용하지 않는 import 문을 삭제하는 것을 잊었습니다. 한 번은 개발에 필요한 React 구성 요소를 가져왔지만 작업을 완료할 때쯤에는 사용하지 않는 구성 요소를 제거했습니다. 가져오기 문이 삭제되어야 하는 파일에 남아 있었습니다.
이런. 저도 가끔 그랬어요..
웁시. 예, ESLint는 성가신 미사용 변수 또는 가져오기를 표시합니다.
ESLint의 또 다른 유용한 점은 코드를 실행하거나 살펴봄으로써 파악하기 어려운 것들을 도와줄 수 있다는 것입니다. 이 예를 고려하십시오. 코드에 어떤 문제가 있는지 짐작할 수 있습니까?
for (i = 10; i >= 5; i++) {
console.log("The number is " + i );
}
흠.. 뭐가 문제야?
좀 보기 힘들죠? 음, 증분 값이 잘못된 방향으로 이동하여 무한 루프가 발생합니다.
아 나쁜!
코드의 문제점에 대해 생각하는 대신 ESLint가 루프가 끝나지 않을 것이라고 알려주도록 할 수 있습니다. 그것은 몇 초를 절약할 수 있습니다.
ㅋㅋㅋ
여기에서 또 다른 예를 살펴보겠습니다.
if(username = "Douglas"){
// do something
}
비교가 아니라 할당 연산자입니다.
예, 코드를 실행하면 JavaScript는 소리를 지르지 않고 true를 반환합니다. Linter는 비교 연산자가 필요한 조건문에서 대입 연산자를 허용하지 않습니다.
오.. 깔끔하네요.. 아직 설명서를 봤는데 사용하기 전에 많은 것을 구성해야 하는 것 같습니다.
음, 항상 프로젝트에 Gulp 또는 Webpack을 구성하지 않습니까? ESLint 구성은 그렇게 어렵지 않습니다. 정말 게으른 경우 자유롭게 사용할 수 있는 공유 가능한 구성을 사용할 수 있습니다.
상용구 규칙처럼, 응?
예, 하지만 그냥 설정하고 잊어버리지 마세요! 규칙이 프로젝트에 적합한지 확인해야 합니다. 예를 들어 여기에는 Google의 ES Style Guide가 있습니다. 설명서를 먼저 확인하십시오.
휴.. 그냥 설정하고 잊을 수 있는 방법 없을까요? 유지해야 할 또 다른 구성은 부담스럽습니다.
... 음, 아무것도 구성하지 않고 설치하고 실행할 수 있는 고품질 JavaScript 코드의 보편적인 규칙을 만들기 위한 이니셔티브가 있습니다. Standard 이라고 합니다. Standard에 제시된 규칙은 고정되어 있으며 기여자는 규칙에 대한 repo의 문제 섹션에 대해 토론합니다.
대박! 나는 그것을 시도 할거야!
사용하기로 결정했다면 사용할 수 있는 텍스트 편집기 플러그인도 있습니다.
괜찮은. 생각할 구성이 하나 줄었습니다!
웃긴게 뭔지 알아?
뭐?
어쨌든 많은 개발자들이 ESLint 구성이 부담된다는 데 동의한다고 생각합니다. Standard는 Github clean code linters collection에서 1위를 차지했습니다.
글쎄, 모든 개발자가 같은 것은 아닙니다. 확실히 모든 것을 구성해야 한다는 생각을 좋아하지 않습니다. 당신을 제외하고, 아마.
아마도... 🤓 어쨌든, linter가 항상 커밋 전에 실행되도록 git hook을 추가하는 것을 잊지 마십시오.
Reference
이 문제에 관하여(ESLint는 나에게 쓸모없는 것 같습니다. 사용해야 하나요?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nsebhastian/eslint-seems-useless-to-me-should-i-use-it-1h2o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)