[swift] SwiftLint 통합

SwiftLint는 Swift 코드 스타일과 규칙을 적용하여 코드의 일관성과 품질을 유지하는 도구입니다. 본 블로그 포스트에서는 SwiftLint를 프로젝트에 통합하는 방법을 알려드리겠습니다.

SwiftLint란?

SwiftLint는 Objective-C 프로젝트에서 사용되는 ClangFormat과 유사한 역할을 하는 도구입니다. Swift 코드의 스타일 가이드를 적용하고, 일관된 코드 포맷팅을 제공해줍니다. 이를 통해 코드 리뷰 과정에서 개발자들 간의 협업을 원활하게 만들어주고, 코드의 가독성을 향상시킵니다.

SwiftLint 통합 방법

  1. SwiftLint 설치

    SwiftLint를 프로젝트에 통합하기 위해서는 먼저 SwiftLint를 설치해야 합니다. brew를 통해 간단하게 설치할 수 있습니다.

    brew install swiftlint
    
  2. 프로젝트에 SwiftLint 설정 파일 추가

    SwiftLint가 프로젝트에 적용될 설정은 .swiftlint.yml 파일에 작성됩니다. 프로젝트의 루트 디렉토리에 .swiftlint.yml 파일을 생성하고, 원하는 규칙을 설정해야 합니다. 예를 들어, 다음과 같이 작성할 수 있습니다.

    disabled_rules:
      - line_length
      - trailing_whitespace
    
    opt_in_rules:
      - empty_count
      - missing_docs
    
    excluded:
      - Carthage
      - Pods
    

    위 예시에서는 line_lengthtrailing_whitespace 규칙을 비활성화하고, empty_countmissing_docs 규칙을 사용하도록 설정했습니다. 또한, CarthagePods 디렉토리는 SwiftLint의 검사 대상에서 제외되도록 설정했습니다.

  3. Xcode 빌드 단계에 스크립트 추가

    SwiftLint 검사를 정적 분석으로 수행하려면 Xcode 빌드 단계에 스크립트를 추가해야 합니다. 프로젝트를 선택한 뒤, Build Phase 탭으로 이동하여 새로운 Run Script Phase를 추가합니다. 그리고 다음 스크립트를 입력합니다.

    if which swiftlint >/dev/null; then
        swiftlint
    else
        echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
    fi
    

    이 스크립트는 SwiftLint가 설치되어 있는 경우에만 동작하며, SwiftLint가 설치되어 있지 않은 경우 경고 메시지를 출력합니다.

  4. 프로젝트 빌드 및 검사

    이제 프로젝트를 빌드하고 SwiftLint의 규칙을 적용해보세요. 빌드를 실행하면 SwiftLint는 설정된 규칙에 따라 코드를 검사하고, 오류나 경고 메시지를 출력합니다. 만약 오류가 발견된 경우, 해당 오류를 수정하여 일관된 코드 스타일을 유지하는 것이 중요합니다.

마무리

SwiftLint를 통합하여 프로젝트의 코드 일관성과 품질을 유지할 수 있습니다. SwiftLint 설정 파일을 통해 원하는 규칙을 설정하고, Xcode 빌드 단계에 스크립트를 추가하여 검사를 자동화하는 것이 좋습니다. SwiftLint를 사용하면 개발팀 내에서 일관된 코드 스타일을 유지할 수 있으며, 코드 리뷰 과정에서 생산성을 향상시킬 수 있습니다.

더 자세한 정보와 설정 방법은 SwiftLint 공식 GitHub 페이지를 참고해주세요.