Swift 流畅的使用
示例
使用自然语言
函数调用应接近自然英语。
例:
list.insert(element, at: index)
代替
list.insert(element, position: index)
命名工厂方法
工厂方法应以前缀make开头。
例:
factory.makeObject()
初始化程序和工厂方法中的命名参数
在命名工厂方法或初始化程序时,不应涉及第一个参数的名称。
例:
factory.makeObject(key: value)
代替:
factory.makeObject(havingProperty: value)
根据副作用命名
具有副作用的功能(变异功能)应使用以开头的动词或名词命名form-。
没有副作用的函数(非变异函数)应使用带有后缀-ing或的名词或动词命名-ed。
示例:突变函数:
print(value) array.sort() // 就地分拣 list.add(value) // 变异清单 set.formUnion(anotherSet) // set现在是set和anotherSet的并集
非变异函数:
let sortedArray = array.sorted() // 异地排序 let union = set.union(anotherSet) // 联合现在是集合和另一个集合的联合
布尔函数或变量
涉及布尔值的语句应视为断言。
例:
set.isEmpty line.intersects(anotherLine)
命名协议
描述什么东西的协议应该使用名词来命名。
描述能力的协议应该有-able,-ible或-ing作为后缀。
例:
Collection // 描述某物是一个集合 ProgressReporting // 描述某事物具有报告进度的能力 Equatable // 描述某事物具有与某事物相等的能力
类型和属性
类型,变量和属性应读作名词。
例:
let factory = ... let list = [1, 2, 3, 4]