小编典典

为现有对象添加扩展名的 Swift 文件命名的最佳实践是什么?

all

可以使用扩展为现有的 Swift
对象类型添加扩展,如语言规范中所述。

因此,可以创建扩展,例如:

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

但是,包含此类扩展名的 Swift 源文件的最佳命名实践是什么?

过去,惯例是使用extendedtype+categoryname.mObjective-C 类型,如Objective-C
指南中讨论的
那样。但是
Swift 示例没有类别名称,并且调用它String.swift似乎不合适。

所以问题是:给定上面的String扩展名,swift源文件应该叫什么?


阅读 94

收藏
2022-07-16

共1个答案

小编典典

我见过的大多数示例都模仿了 Objective-C 方法。上面的示例扩展将是:

String+UTF8Data.swift

优点是命名约定可以很容易地理解它是一个扩展,以及正在扩展哪个类。

using Extensions.swiftor
even的问题StringExtensions.swift在于,如果不查看文件内容,就无法通过文件名推断文件的用途。

使用xxxable.swiftJava
使用的方法适用于仅定义方法的协议或扩展。但是同样,上面的示例定义了一个属性,因此在UTF8Dataable.swift语法上没有多大意义。

2022-07-16