[swift] Swift Sourcery와 코드 가이드라인 준수의 도움

작성일: 2022년 8월 25일

소개

효율적이고 일관성 있는 코드 작성은 모든 개발자에게 중요합니다. 특히 Swift 언어의 경우 코드 가이드라인을 준수하여 읽기 쉽고 유지보수가 용이한 코드를 작성하는 것이 권장됩니다. 이를 위해 Sourcery라는 도구를 활용할 수 있습니다.

Sourcery는 Swift 소스 코드를 분석하고, 템플릿과 결합하여 자동으로 코드를 생성해주는 라이브러리입니다. 이를 사용함으로써 반복적인 작업을 자동화하고 일관된 코드 스타일을 유지할 수 있습니다.

Sourcery 설정

Sourcery를 사용하기 위해 먼저 프로젝트에 Sourcery를 설치해야 합니다. CocoaPods를 사용하는 경우, Podfile에 다음과 같이 추가합니다:

pod 'Sourcery'

또는 Swift Package Manager를 사용하는 경우, Package.swift 파일에 다음과 같이 추가합니다:

.package(url: "https://github.com/krzysztofzablocki/Sourcery.git", .upToNextMajor(from: "2.0.0"))

설치가 완료되면, 프로젝트 루트 디렉토리에 Sourcery 설정 파일인 sourcery.yml을 생성합니다. 이 파일에서 소스 코드 위치, 템플릿 파일 위치 및 생성될 코드 파일의 위치 등을 지정할 수 있습니다.

코드 생성 및 가이드라인 준수

Sourcery를 설정한 후에는 코드 생성을 위한 템플릿을 작성해야 합니다. 이 템플릿에서는 자동으로 생성될 코드의 형식과 구조를 정의할 수 있습니다.

예를 들어, Swift의 Codable 프로토콜을 준수하는 데이터 모델을 생성해야 한다고 가정해보겠습니다. 기존에는 매번 속성과 일치하는 초기화 코드와 Codable 프로토콜 메서드를 작성해야 했지만, Sourcery를 사용하면 자동으로 생성할 수 있습니다.

다음은 Codable 프로토콜 준수를 위한 템플릿 예시입니다:

// AutoCodable.stencil

{{"// Generated code - do not modify this manually"}}

{% for type in types.implementing.Codable %}
    extension {{ type.name }}: Codable { }
{% endfor %}

위의 템플릿은 Codable 프로토콜을 구현하는 모든 타입에 대해 해당 타입의 확장 코드를 생성합니다. 이러한 템플릿을 작성하여 Sourcery에게 코드를 생성하도록 지시할 수 있습니다.

코드 생성 및 일관성 유지

Sourcery를 사용하여 코드를 생성하면, 팀 내에서 일관된 코드 스타일을 유지할 수 있습니다. 팀의 코드 가이드라인을 준수하는 코드를 작성하게 되므로, 개발자 간의 협업 및 코드 리뷰가 원활해집니다.

또한, 주석이나 문서화된 코드에도 일관성을 유지가능합니다. Sourcery를 사용하면 주석 템플릿을 작성하여 코드 생성시 자동으로 주석을 추가할 수 있습니다. 이를 통해 설명이 필요한 부분을 일관된 방식으로 문서화할 수 있습니다.

결론

Swift Sourcery는 코드 생성 및 코드 가이드라인 준수를 도와주는 강력한 도구입니다. 소스 코드를 분석하여 자동으로 코드를 생성하고, 일관된 코드 스타일을 유지할 수 있습니다. Sourcery를 프로젝트에 추가하여 개발 효율성을 향상시키고 유지보수를 쉽게 할 수 있습니다.

이를 통해 팀 내에서 효율적인 개발과 코드 관리를 실현할 수 있으며, 애플리케이션의 품질을 향상시킬 수 있습니다.

참고 자료