본문 바로가기
공부/[개발 관련]

[개발 관련] Linter에 대하여

by 인생은아름다워 2022. 1. 8.

📋 Linter에 대하여

어디선가 한번씩 보이는 lint / linter라는말... 뭘까?

정의내리자면, linter는 내 코드를 개선시켜주는 tool 이다.
(내 코드를 분석함으로서 내 코드를 개선시켜준다!)

linter의 어원은 다음과 같다고 한다.
원래 C소스 코드를 분석하는 lint라는 도구가 있었는데 이것 때문인 것 같고, lint뿐만 아니라 이 당시의 여러 utility들이 컴파일러 최적화를 위해 소스코드를 분석했다고 한다.

하지만, 현재에는 linter들은 컴파일러에 국한되지 않고 소스코드 자체를 개선해주는것으로 넓게 사용된다.
오히려 interpreted language들에게는 개발할 때 에러를 발견해주는 컴파일러가 없다는것을 상기해봤을 때 더욱 소중한것 아닐까?

📋 linter를 사용하는것의 장점

  • 에러를 줄일 수 있다.
  • 가독성 + 유지보수하기에 좋아진다.
  • 리뷰시 코드스타일에 대한 이슈를 줄일 수 있다.
  • 객관적인 코드 품질측정이 가능해진다.
  • 등등...

📋 Types of checks Linters provide

  • Syntax Errors
  • Code standards adherence(코드 표준 준수) -> 요것이 내가 lint에 대해 정리한 이유
  • Potential problems (a.k.a code smells)
  • Security checks

📋  Static analysis(정적분석)

이러한 linter들은 결국 정적분석의 일환으로 생각할 수 있을 것 같다.
정적분석이란? pre-run debug 정도로 생각하면 좋을 것 같다.
이것을 통해 error, convention adherence 등의 잠재적인 문제를 찾을 수 있다.

📋  Swift Lint

이름과 같이 swift언어의 linter이다.
누군진 모르지만, 누군가가 swift의 code convention을 정해놨고, swift lint를 적용하면, 내 코드에서 그 convention을 지키고있는지를 확인해주는 tool!

현재 수 많은 rule들이 존재하고 그 것은 이 링크에서 확인할 수 있다. 당연히 지금도 개발중이겠지?

🍎 결론

🧐 조금 더 복잡한코드를 개발할 때가 되면 lint의 사용은 나에게 매우 도움이 될 수 있을 것 같다!
그 때가 되면 아래 첨부 링크들을 확인하고, 한 번 사용해보자!

참고했던 글

What is a linter? Here's a Definition and Quick-Start Guide
Swift Link 써보기
linter를 이용한 코딩스타일과 에러 체크하기(Subicura님 블로그)
내 프로젝트에 Swift Lint를 적용해보자(Zedd님 블로그)

댓글