-
SwiftLint 적용하기Swift 2021. 4. 19. 15:26
SwiftLint를 꼭 사용해야 된다고 생각하는 사람이지만, 한번도 기술한적이 없길래 적어본다.
다운로드
왜?
처음 프로젝트를 시작할때 꼭 Code Convention을 작성한다.
이 프로젝트에서 개발자가 지켜야하는 개발 작성 표준인 것이다.
SwiftLint 가 바로 https://github.com/raywenderlich/swift-style-guide 기반으로, swift 스타일 및 컨벤션을 강제하는 도구이다.
예시로는, 아래처럼 들여쓰기 (indent)는 tab으로 정한다. 또한 편집기 기본 (괄호 공백, 중괄호 줄바꿈 등등)이 있다.
(예시)
항목 내용 예외 예제 비고 들여쓰기 (indent) tab tab의 크기는 space 4개
xcode 설정 방법
xocde - preference - text editing
indent wrapped lines by 4로 변경!연산자 공백 모든 연산자는 좌 우 에 공백 삽입 단항연산자(++,--) c = a+b // not good
c = a + b // Good+ Naming Rule, Commit Rule등 작성해두고 지킨다.
이점은 누구나 내가 짠 코드도 이해하기 쉬워지고, 코드 관리가 용이해지고 등등 예상가능한 장점이 많다.
이런말을 서두에 한 이유는 바로, 위를 지키기 쉽게 도와주는게 SwiftLint이기 때문이다...!
기본적인것을 지키지 않고는 빌드가 되지 않기때문에 Code Convention을 지키기 아주 용이하다.
하물며 메모리 관리 차원에서 어떠한 경우, delegate를 weak으로 선언하지 않은 경우도 warning을 띄워줄때가 있다. :)
적용 방법
다운로드 받는 방법은 위의 링크에 자세하게 설명되어있다. github.com/realm/SwiftLint
homebrew, cocoapod, 직접 다운로드 등
그리고 나서, 적용하고 싶은 프로젝트에 Build Phases - Run Script에
if which swiftlint >/dev/null; then swiftlint else echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint" fi
위처럼 적용해도 되고, 나같은 경우에는
if which swiftlint >/dev/null; then swiftlint lint --strict else echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint" fi
이렇게 strict하게 적용했다.
나중에 CI에도 적용하니, 더더욱 효과적으로 관리할 수 있었다.
참고로, swift lint strict은 너무 strict 하기 때문에 아래처럼 .swiftlint.yml 을 만들고 몇가지 옵션들을 넣어가면서 프로젝트에 맞춰 적용했다.
disabled_rules: #rules identifiers to exclude from running - line_length - control_statement - todo identifier_name: allowed_symbols: "_" min_length: 1
너무너무 추천한다.
Swift Rule
swift rule은 아래의 링크에서 확인가능하다.
728x90'Swift' 카테고리의 다른 글
DTO, VO란 (Swift 버전) (0) 2021.04.20 Xcode 빠른 빌드가 필요할때 - diagnostic-options 와 그외 (0) 2021.04.20 ios 14 위젯 만들기 (0) 2021.03.17 Xcode Build Settings 타겟분리 (0) 2021.03.08 Swift 기본문법 (0) 2019.11.03