既存のオブジェクトに拡張機能を追加する Swift ファイルに名前を付けるベストプラクティスは何ですか? 質問する

既存のオブジェクトに拡張機能を追加する Swift ファイルに名前を付けるベストプラクティスは何ですか? 質問する

拡張機能を使用して、既存のSwiftオブジェクト型に拡張機能を追加することができます。言語仕様

その結果、次のような拡張機能を作成できるようになります。

extension String {
    var utf8data:NSData {
        return self.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
    }
}

しかし、このような拡張子を含む Swift ソース ファイルの命名方法のベストプラクティスは何でしょうか?

過去には、extendedtype+categoryname.mObjective-Cの型には、Objective-C ガイドしかし、Swift の例にはカテゴリ名がないため、それを呼び出すのはString.swift適切ではないようです。

そこで質問です。上記のString拡張子を考えると、Swift ソース ファイルの名前は何にすればよいでしょうか?

ベストアンサー1

私が見たほとんどの例は Objective-C のアプローチを模倣しています。上記の例の拡張は次のようになります。

String+UTF8Data.swift

利点は、命名規則により、それが拡張機能であること、およびどのクラスが拡張されているかを簡単に理解できることです。

Extensions.swiftまたは を使用する場合の問題StringExtensions.swiftは、ファイルの内容を見ずに名前からファイルの目的を推測できないことです。

Java で使用されるアプローチを使用するxxxable.swiftと、メソッドのみを定義するプロトコルまたは拡張機能では問題なく機能します。ただし、上記の例では属性を定義しているため、UTF8Dataable.swift文法的にはあまり意味がありません。

おすすめ記事