프로젝트를 하기 앞서 모든 팀원들의 코딩 컨벤션 통일을 위해 SwiftLint 사용을 하기로 했습니다.
SwiftLint은 코드를 작성할 때 추천하는 코딩 스타일, 괜찮은 사례등을 모아 놓은 가이드라인 및 규칙들 입니다.
모든 파일들이 Swift 코드가 일관성을 유지하도록하면 새로운 개발자가 합류하거나 예전 코드를 읽을 때 도움이 되며 모든 코드가 일관적으로 보이기 때문에 신경이 분산되지 않습니다. 또한 팀들간의 코드도 팀에 새로 합류한 팀원들도 일관적으로 코드를 짤 수 있습니다.
SwiftLint를 실행 시켜 보자!!
1. pod init
2. Podfile에 pod 'SwiftLint' 추가!! -> pod install
3. Targets의 Build Phases에 Run Script를 추가하고 스크립트에 ${PODS_ROOT}/SwiftLint/swiftlint 입력!
룰 규칙들 ..realm.github.io/SwiftLint/rule-directory.html 여기에 룰들이 가득..
수십개의 룰 중 하나인 Array Init을 보자 .
Identifier는 yml파일에서 쓰입니다.
Enabled by default는 기본적으로 린트를 실행할때 Default로 rule을 포함할지 말지 알려줍니다.
Supports autocorrection auto 옵션을 해줬을 때 자동으로 수정해 줍니다.
기본 적으로 SwiftLint를 사용할 때 적용 되는 룰들이 아닌 룰들도 있습니다. 이를 .swiftlint.yml파일을 통해 사용자의 입맛대로 !! 적용 시킬 수 있습니다.
사용자 설정을 위해 .swiftlint.yml 파일을 작성해야 합니다. (숨긴파일 맞음)
CMD + N 으로 Other의 Empty파일을 만들고 ".swiftlint.yml" 파일을 만듭니다.
주로 쓰는 명령어 들입니다.
disabled_rules : 활성화 된 룰들을 비활성화 한다. - (rule's identifier)
included : 경로의 파일들을 lint에서 포함시켜버린다. - (path)
excluded : 경로의 파일들을 lint에서 예외시켜버린다. -(path)
마무리
swift lint를 제대로 알기 전에는 42의 놈같은 형식을 세부적으로 사용자가 정하는 건줄 알았습니다. 그런데 실질적으로 공부하고 알게 된 것은 이미 swift 개발자들이 이렇게 하니까 보기 좋네!! 한것들이 모여 있는 규칙모음이었습니다. 여기서 디폴트로 실행 시키면 기존 룰 들의 디폴트 실행값에 맞게 실행 시키게됩니다.
여기서 일단 제 생각은 swift lint default 값들을 그대로 쓰면서 정말 아니다 싶은 것들은 discussion을 통해 추려내보는 건 어떨 까 생각합니다.
참고
'iOS' 카테고리의 다른 글
[iOS] OAuth2.0을 써보고 싶다. URLSchemes (0) | 2021.05.09 |
---|---|
[Swift] Swift 버전에 대해.. (+Xcode) (0) | 2021.05.04 |
[iOS] 키보드에 맞게 view 수정, NotificationCenter, UIResponder (0) | 2021.04.12 |
[iOS] DispatchGroup, DispatchItem, DispatchSemaphore (0) | 2021.04.10 |
[iOS] Dispatch Queue 종류 (0) | 2021.04.10 |