web-dev-qa-db-ja.com

Swift:グローバル定数命名規則?

Swiftでは、グローバル定数はcamelCaseである必要があるようです。

例えば:

let maximumNumberOfLoginAttempts = 10

あれは正しいですか?

すべての大文字に慣れています。たとえば、MAXIMUM_NUMBER_OF_LOGIN_ATTEMPTS、Cからですが、Swiftの慣習に同意したいと思います。

55
ma11hew28

Swift 3 APIガイドラインには、「タイプとプロトコルの名前はUpperCamelCaseです。その他はすべてlowerCamelCaseです」と記載されています。

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

理想的には、グローバル定数はある種の構造体(UpperCamelCase)内に配置され、その構造体のすべてのプロパティはlowerCamelCaseになります。

struct LoginConstants {
    static let maxAttempts = 10
}

そしてそのようにアクセスし、

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

私は、キャメルケースを使用して、クラスレベルの定数の先頭に大文字を使用して議論しています。例えば:

static let MaximumNumberOfLoginAttempts = 10

まだキャメルケースです(Appleが推奨されるようです)が、大文字の先頭文字により、値が不変であることが明確になります。

24
Greg Brown

AppleはcamelCaseを提唱しています。とはいえ、多くの場合、特に下位のスコープで同じ名前を持っている可能性がある場合に、区別するために_camelCaseを使用します。

5
Tokuriku

私はよく、次のようにkで宣言された定数を見ます:

static let kLoginAttemptsMax = value

これは、ラクダのケーシングに続いて「T」になります。

5
Hobbyist

いくつかのオプションがあります。

  1. Appleの命名規則をthisIsMyConstant。として使用します
    • 利点:Appleによって宣伝されているため、「標準」のことです。
    • 欠点:何かを伝える方法がOption+Clickなしの定数または変数ではない。
    • サイドノート:Appleは常に正しいとは限りません。私を含め、Appleが変更を行う前に、多くの人がUIColor.MyColor()の代わりにUIColor.myColorを使用していました。
  2. Objective-CスタイルkThisIsMyConstantを使用します。 Swift開発者の多くはobjcの専門家であるため、ほとんどのMac/iOS開発者にとっては明らかなはずです。
  3. CスタイルTHIS_IS_MY_CONSTANTを使用します。 Java など、他の多くの言語でも使用されています。
  4. ThisIsMyConstantのようなものを使用します。今のところ、このスタイルを使用している言語は考えられません(いくつかあるはずですが、思い出せません)が、Appleの提案に近いものです。
2
superarts.org

AppleはcamelCaseで定数を示しています。

読みやすいバリアントを使用します。あなたの例では:

let maximumNumberOfLoginAttempts = 10
let MAXIMUM_NUMBER_OF_LOGIN_ATTEMPTS = 10

「MAXIMUM_NUMBER_OF_LOGIN_ATTEMPTS」はそれ以上読みにくいため、定数変数であることを即座に示しています。

2
Javatar