今天看了 wwdc 2016 中的 Swift API Design Guidelines
然后大致翻阅了一下 API Design Guidelines
事实是,Objective - C 相对于新的 swift 3.0 语言来说,确实已经有些算是不同的语言了,旧的 guidelines 确实已经不符合 Swift 这门语言的设计语法和给人的感觉。
今天在重构项目代码,以遵从面向协议,先是从数据库访问的装饰模式文件开始,尝试着实践了新的 API design guideline,使用自己的项目来做例子:
** - 明确用法(Promote Clear Usage)**
** 1. 语句应该避免歧义(Include all the words needed to avoid ambiguity)**
这一个例子因为还不是Swift 3,需要等到以后再进行更改
比如说:
func remove( id: Int ) { }
user.remove(x)
这里的 remove(x) 是什么意思?意思非常的不明确
在官方的 guideline 中,告诉我们,应该这样写:
func remove( id: Int ) { }
user.remove(at: x)
这样子就可以清晰地知道,这是通过位置来删除用户
当然,可以将 at: 放上去也是 swift 3 的新特性了
** 2. 省略不需要的词语(Omit needless words) **
相对于 Objective - C 事无巨细的要求,swift 的要求要简略的多:
从:
func addItems(items: [Item], withId: TagItemId)
变成了:
func add(items: [Item], at: TagItemId)
方法中的 item: 也一并构成了方法的名字,让方法更加简洁了