web-dev-qa-db-fra.com

Swift: convention de dénomination constante?

Dans Swift, il semble que les constantes globales devraient être camelCase.

Par exemple:

let maximumNumberOfLoginAttempts = 10

Est-ce exact?

Je suis habitué à toutes les majuscules, par exemple, MAXIMUM_NUMBER_OF_LOGIN_ATTEMPTS, de C, mais je veux accepter les conventions Swift.

53
ma11hew28

Les directives de l'API Swift 3 stipulent que "Les noms de types et de protocoles sont UpperCamelCase. Tout le reste est lowerCamelCase."

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

Idéalement, vos constantes globales seront situées dans une structure quelconque, qui serait UpperCamelCase, et toutes les propriétés de cette structure seraient lowerCamelCase.

struct LoginConstants {
    static let maxAttempts = 10
}

Et accédé comme tel,

if attempts > LoginConstants.maxAttempts { ...}
54
bmjohns

J'ai discuté de l'utilisation de chameaux avec un capital de premier plan pour les constantes au niveau de la classe. Par exemple:

static let MaximumNumberOfLoginAttempts = 10

C'est toujours l'affaire Camel (comme Apple semble le recommander), mais le personnage principal majuscule indique clairement que la valeur est immuable.

24
Greg Brown

Apple préconise camelCase ..__ Cela étant dit, de nombreux utilisateurs n'utilisent _camelCase que pour le différencier, en particulier si vous portez probablement le même nom à un niveau inférieur.

5
Tokuriku

Je vois couramment des constantes déclarées avec un k, comme ceci:

static let kLoginAttemptsMax = value

Cela suit également camel casing à un "T".

5
Hobbyist

Apple nous montre des constantes avec camelCase.

J'utilise la variante lisible par bether. Donc, pour votre exemple:

let maximumNumberOfLoginAttempts = 10
let MAXIMUM_NUMBER_OF_LOGIN_ATTEMPTS = 10

'MAXIMUM_NUMBER_OF_LOGIN_ATTEMPTS' est lisible pour moi et montre instantanément qu'il s'agit d'une variable constante.

2
Javatar

Il y a plusieurs options.

  1. Utilisez la convention d'appellation d'Apple en tant que thisIsMyConstant.
    • Upside: il est promu par Apple, donc c'est une chose "standard".
    • Inconvénient: aucun moyen de savoir que quelque chose est une constante ou une variable sans Option+Click.
    • Note latérale: Apple n'a pas toujours raison. Beaucoup de gens utilisaient UIColor.myColor au lieu de UIColor.MyColor() avant qu'Apple ne fasse le changement, y compris moi.
  2. Utilisez Objective-C style kThisIsMyConstant. Comme beaucoup de développeurs Swift sont des experts objc, il devrait en aller de soi pour la plupart des développeurs Mac/iOS. 
  3. Utilisez C style THIS_IS_MY_CONSTANT. Il est également utilisé par beaucoup d'autres langages comme Java
  4. Utilisez quelque chose comme ThisIsMyConstant. Je ne peux penser à aucune langue utilisant ce style pour le moment (il devrait y en avoir mais je ne m'en souviens pas), mais c'est un peu proche de la suggestion d'Apple.
1
superarts.org