Swift

[Swift] SwiftLint 적용하기

devharrry 2020. 1. 5. 01:53

SwiftLint란

Swift Style Guide에 기반한 Swift 언어 스타일 및 컨벤션 검사 툴.
Github : https://github.com/realm/SwiftLint

 

realm/SwiftLint

A tool to enforce Swift style and conventions. Contribute to realm/SwiftLint development by creating an account on GitHub.

github.com

사용목적

1. 협업을 진행하다보면 각자 다른 코딩스타일로 개발하고 있습니다. 룰을 맞추고 효율적인 코드리뷰, PR을 진행하기 위함.

 

2.코딩 스타일에 들어가는 리소스를 줄이고 기능 개발, 비즈니스 로직에 집중하기 위함.

 

Install

1. Podfile 

pod ’SwiftLint'

 

2. Project Target -> Build Phases -> New Run Script Phase에서 스크립트 추가

${PODS_ROOT}/SwiftLint/swiftlint

 

3. (Optional) 빌드 시 자동으로 수정되는 스크립트

${PODS_ROOT}/SwiftLint/swiftlint autocorrect 

-> 의도하지 않은 코드들이 바뀌기 때문에 협업 시에 문제가 되는 경우 많음. 권장하지 않습니다.

 

룰 설정에 필요한 yml 파일 추가하기

프로젝트 Root Directory에 .swiftlint.yml(empty file) 파일 추가

 

Configuration

  • disabled_rules : 기본 활성화된 룰 중 비활성화할 룰들을 지정
  • opt_in_rules : 기본 룰이 아닌 룰들을 활성화.
  • whitelist_rules: 지정한 룰들만 활성화. Disabled_rules or opt_in_rules 함께 지정할 수 없음.
  • included : 린트를 포함할 파일 경로
  • excluded : 린트를 포함하지 않을 파일 경로

example 

included:

excluded:
- Pods

disabled_rules:
- trailing_whitespace

force_cast: warning
line_length: 250

마무리

코딩스타일에 맞게 규칙들을 추가, 비활성화, 커스텀해서 사용하시면 됩니다.

조금이나마 SwiftLint 적용하는데 도움이 되었으면 좋겠습니다:)