iOS/팁

[iOS, Swift] Swift 코딩 컨벤션

검은참깨두유vm 2022. 10. 30. 07:07
반응형

Swift API 디자인 가이드라인

https://www.swift.org/documentation/api-design-guidelines/

 

Swift.org

Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.

www.swift.org

 

위의 사이트에서 정의하고 있는 코딩 컨벤션을 정리합니다.

 

 

Fundamental

 - 사용시점의 명확성이 가장 중요한 목표입니다.

(메서드 및 속성과 같은 엔터티는 한 번만 선언되지만, 반복적으로 사용됩니다.)

 - 간결성보다 명확성이 더 중요합니다.

 - 모든 선언에 대하여 문서 주석을 작성합니다. 

(설명서를 작성함으로써 얻은 통찰력은 설계에 큰 영향을 미칠 수 있으므로 미루지 마십시오.)

 

 

Naming

Promote Clear Usage

 - 읽는 사람에게 모호성을 피하기 위해 필요한 모든 단어를 포함시킨다.

 - 불필요한 말은 생략한다. 중요한 정보만을 전달해야 한다.

(의도를 명확히 하기 위해 더 많은 단어가 필요할 수 있지만, 사용자가 이미 가지고 있는 정보와 중복되는 단어는 피해야한다. 특히 유형 정보를 반복하는 단어는 생략한다.)

 - 변수, 매개 변수는 역할에 따라 이름을 지정합니다.

 - 매개 변수의 역할을 명확히 하기 위해 weak type 정보를 보충합니다.

 

Strive for Fluent Usage

 - 메서드 및 함수의 이름으로 영어 문법을 준수하는 것이 낫습니다.

(함수 이름을 동사로 시작함)

 - 함수 이름은 부가효과에 따라 지정합니다. 

(Mutating Or NonMutating)

 - 기능을 설명하는 프로토콜은 접미사를 사용하여 이름을 지정해야 합니다.

 - 속성, 변수 및 상수의 이름은 명사로 사용해야 합니다.

 

Use Terminology Well

- 흔한 단어라도 의미를 잘 전달한다면, 애매한 용어를 피합니다.

- 명확한 용어를 사용하는 데 있어 한가지 의미를 고수합니다.

- 축약어를 피합니다.

- 선례를 받아들입니다. 

( 비록 초보자가 List의 의미를 더 쉽게 이해할 수 있을지라도 List와 같은 단순화된 용어를 사용하는 것보다 연속 데이터 구조의 이름을 Array로 지정하는 것이 낫다. 대부분의 프로그래머가 익숙한 용어를 사용하면 웹 검색과 질문에 대한 보상을 받을 수 있습니다.)

 

 

Conventions

General Conventions

- 규약을 따릅니다. Class와 Protocol의 이름은 UpperCamelCase로 작성합니다. 나머지는 lowerCamelCase 입니다.

- 메서드는 동일한 기본 이름을 공유하거나, 다른 도메인에서 사용할 때 이름을 공유할 수 있습니다. (오버로딩)

 

Parameters

- 문서를 제공할 매개변수 이름을 선택합니다. 매개 변수 이름은 함수나 메서드 사용 지점에 나타나지 않지만 중요한 설명 역할을 합니다.

- 기본 매개 변수를 사용하면 일반적인 용도를 단순화할 수 있습니다.

 

Argument Labels

- 인수를 유용하게 구분할 수 없는 경우 모든 레이블을 생략합니다.

 

 

 

 

정리

Swift API 디자인 가이드라인에 있는 모든 가이드라인을 이해하지 못해 몇 개의 글만 가져왔다.

팀원들과 소통을 더 잘 하고 싶다면, 공식 가이드라인 글을 읽으면 도움이 되겠다.

다시 한 번 정리를 하자면, 코딩을 할 때에 한 번 이름을 짓는다면, 그 이름은 코딩하는 내내 읽기 때문에

처음에 이름을 짓는다는 것이 중요하다는 것이다.

또한 Case Convention(Upper Camel Case, Lower Camel Case)를 준수하고, 함수는 동사로 표현을 하고, 명사는 명사로 표현하는 것이 이해에 도움이 된다는 것을 알 수 있었다.

 

반응형