Swift Lint

2302 단어 swiftiOSiOS

Lint?

스웨더의 보풀 같은 것을 보고 Lint라는 의미를 가진다.
해당 내용을 코드에서는 이런 내용이 뭘까. 아래 같은 것들이 있을 것이다.

  1. 맞지 않는 들여쓰기
  2. 사용되지 않은 변수
  3. 한줄이 너무 길어진 구문
    등등

잘 정돈 되어진 코드를 보는 것과 그렇지 않은 것들은 얼마나 많은 차이가 있는지는 많은분들이 공감을 하리라고 생각한다. (요즘의 코딩에는 제품의 효율성보다 가독성이 더 중요시되는 부분도 존재한다)

내가 아무리 이것을 의식하여 쓴다해도 human-error는 존재할 수 밖에 없다.
컴파일시에 이런 것들을 찾아 알려줘 알려주는 기능을 담은 것이 Lint이다.

IDE에서 어느정도 제공을 하지만 더 읽기 좋은 코드를 쓰기 위한 개발자들은 여기서 만족하지 못한다.
그렇기에 외부의 라이브러리들을 자주 사용한다.

Code Convention

직역하면 코드에 대한 규약.
위의 Lint외에도 한 조직에서 협업을 위해서는 서로 공유할 수 있는 Convention을 만들어, 누가 작업을 하더라도 쉽게 읽을 수 있다는 것은 꼭 필요한 내용한 내용일 것이다.

뭐 이런 것들이 Convention이 될 수 있겠죠.
1. 최대 함수 구문의 길이
2. 함수/변수명에 생성 규칙
3. 들여쓰기 길이
4. Snake case or Camel case
등등

기본적으로 각각 언어에서 지원하는 convention이 있으며, 그것을 토대로 조직에 맞는 컨벤션을 공유해 사용하는 것이 중요하다.

아래는 Swift를 사용하는 이들에게 많은 도움이 될 것 같아 첨부한다.
Swift Style Guideline

Swift Lint

이제 이 글을 작성한 이유인 Swift Lint를 소개하겠다.
Realm에서 제공하는 Swift 사용자를 위한 Lint Library이다.

라이브러리 사용법

CocoaPods로 쉽게 설치할 수 있다.

설치 후 간략한 사용법을 간단하게 써보겠습니다.

Target > Build Phase > + > new run script phase

아래 스크립트 코드 추가

${PODS_ROOT}/SwiftLint/swiftlint

Lint Rule

Lint에 어마막지하게 많은 Rule들이 존재하게 되는데, 이 부분에서 적당히 조직에 따라 Code Convention에 맞추어 옵션을 포함/제외하면 된다.
Swift Lint Rule

어떻게 포함 제외하면 된다고?

empty file로 .swiftlint.yml 파일을 추가한다.


가장 기본적으로 사용 되는것

disabled_rules: 사용 안할 규칙들을 정의
included: 포함 할 파일들을 정의
excluded: 포함하지 않을 파일들을 정의

자세한건 라이브러리 가이드라인에 잘 기입되어 있다.

그렇게 빌드를 돌려보면 나의 과오들이 Warning 과 Error로 나타날 것이다.
몇번 쓰다보면 노란딱지를 보기 싫어서 의식해서 코드를 짜게되는 나를 볼 수 있을 것이다.

좋은 웹페이지 즐겨찾기