developer tip

Swift : 글로벌 상수 명명 규칙?

optionbox 2020. 12. 30. 08:03
반응형

Swift : 글로벌 상수 명명 규칙?


Swift에서 전역 상수는 camelCase 여야합니다.

예를 들면 :

let maximumNumberOfLoginAttempts = 10

그 맞습니까?

나는 모든 대문자 (예 : MAXIMUM_NUMBER_OF_LOGIN_ATTEMPTSC)에 익숙 하지만 Swift 관례를 받아들이고 싶습니다.


Swift 3 API 가이드 라인은 "타입과 프로토콜의 이름은 UpperCamelCase입니다. 그 밖의 모든 것은 lowerCamelCase입니다."라고 명시되어 있습니다.

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

이상적으로 전역 상수는 UpperCamelCase와 같은 일종의 구조체 내에 위치하며 해당 구조체의 모든 속성은 lowerCamelCase입니다.

struct LoginConstants {
    static let maxAttempts = 10
}

그리고 이렇게 액세스하면

if attempts > LoginConstants.maxAttempts { ...}

나는 클래스 수준 상수에 대한 주요 자본과 함께 낙타 케이스를 사용하여 토론했습니다. 예를 들면 :

static let MaximumNumberOfLoginAttempts = 10

Apple이 권장하는 것처럼 여전히 낙타 케이스이지만 대문자로 표시된 선행 문자는 값이 변경 불가능 함을 분명히합니다.


Apple은 camelCase를 옹호합니다. 즉, 많은 사람들은 특히 더 낮은 범위에서 동일한 이름을 가질 가능성이있는 경우 구별하기 위해 _camelCase를 사용합니다.


나는 일반적으로 k다음과 같이 선언 된 상수를 봅니다 .

static let kLoginAttemptsMax = value

이것은 또한 "T"에 낙타 케이싱을 따른다.


Apple은 camelCase로 상수를 보여줍니다.

나는 bether 읽을 수있는 변형을 사용합니다. 따라서 귀하의 예를 들어 :

let maximumNumberOfLoginAttempts = 10
let MAXIMUM_NUMBER_OF_LOGIN_ATTEMPTS = 10

'MAXIMUM_NUMBER_OF_LOGIN_ATTEMPTS'는 더 읽기 어렵고 상수 변수라는 것을 즉시 보여줍니다.


몇 가지 옵션이 있습니다.

  1. Apple의 명명 규칙을 thisIsMyConstant.
    • 장점 : Apple에서 홍보하므로 "표준"입니다.
    • 단점 : Option+Click.
    • 참고 : 애플이 항상 옳은 것은 아닙니다. 저를 포함하여 애플이 변경하기 전에 많은 사람들이 UIColor.myColor대신 사용하고있었습니다 UIColor.MyColor().
  2. Objective-C스타일을 사용하십시오 kThisIsMyConstant. 많은 Swift개발자가 objc전문가이기 때문에 대부분의 Mac / iOS 개발자에게는 분명합니다.
  3. C스타일을 사용하십시오 THIS_IS_MY_CONSTANT. .NET과 같은 다른 많은 언어에서도 사용됩니다 Java.
  4. 같은 것을 사용하십시오 ThisIsMyConstant. 지금은이 스타일을 사용하는 어떤 언어도 생각할 수 없지만 (일부는 있지만 기억할 수는 없습니다) Apple의 제안과 비슷합니다.

참조 URL : https://stackoverflow.com/questions/24244326/swift-global-constant-naming-convention

반응형