이미 Travis-CI에 넣어보신 분들은 알겠지만
linter가 엄청 에러를 띄우는 것을 볼 수 있습니다.
여러분께서는 프로젝트를 진행하면서 이런 에러들이 없도록 하셔야 하는데요
하지만 코딩을 하다보면 피치 못하게 linter에 걸리게 코드를 짜야하는 경우가 존재합니다
(특정 line에 대해서)
그런 경우에 사용할 수 있는 방법인데요
eslint, pylint 둘 다 특정 code block에 대해서 특정 check를 disable 할 수가 있습니다.
예를들어 pylintrc에 line length가 80자 미만으로 되게 설정을 해놨는데
특정 line은 그걸 넘어야 한다 (\를 사용해서 line을 나누는 것보다 한 줄로 쓰는 게 나은 경우,
아니면 cyclic한 import 문제 때문에 중간에 import를 해야하는 경우 등등)
오늘 Linter를 어떻게 설정하는지에 대해서 간략하게 다뤘는데요
이미 Travis-CI에 넣어보신 분들은 알겠지만 linter가 엄청 에러를 띄우는 것을 볼 수 있습니다. 여러분께서는 프로젝트를 진행하면서 이런 에러들이 없도록 하셔야 하는데요
하지만 코딩을 하다보면 피치 못하게 linter에 걸리게 코드를 짜야하는 경우가 존재합니다 (특정 line에 대해서) 그런 경우에 사용할 수 있는 방법인데요 eslint, pylint 둘 다 특정 code block에 대해서 특정 check를 disable 할 수가 있습니다. 예를들어 pylintrc에 line length가 80자 미만으로 되게 설정을 해놨는데 특정 line은 그걸 넘어야 한다 (
\
를 사용해서 line을 나누는 것보다 한 줄로 쓰는 게 나은 경우, 아니면 cyclic한 import 문제 때문에 중간에 import를 해야하는 경우 등등)이런 경우에는 다음과 같이
으로 특정 code scope에 대해서 linter check를 disable 할 수 있습니다
이건 편법이 아니고 실제 다양한 open source project (e.g. tensorflow)에서 사용이 됩니다
eslint는 비슷하게
이런식으로 사용할 수 있습니다.
코드를 짜면서 잘 활용하시길 바랍니다 🙂
P.S. 기본 pylintrc generate는
command를 통해 할 수 있습니다. 그리고 framework / library에 맞는 linter (우리로 따지면 React와 Django)는 표준 lintrc template들을 쉽게 검색하면 찾을 수 있으니 활용하시는 걸 추천드립니다.
또한 autoformatter (yapf, jsbeautify, clang-format 등등)에 대해서 특정 rc config와 동일하게 autoformat 하게 formatter rc를 설정 할 수도 있습니다