今天看了 wwdc 2016 中的 Swift API Design Guidelines
然后大致翻閱了一下 API Design Guidelines
事實(shí)是,Objective - C 相對于新的 swift 3.0 語言來說,確實(shí)已經(jīng)有些算是不同的語言了,舊的 guidelines 確實(shí)已經(jīng)不符合 Swift 這門語言的設(shè)計(jì)語法和給人的感覺。
今天在重構(gòu)項(xiàng)目代碼,以遵從面向協(xié)議,先是從數(shù)據(jù)庫訪問的裝飾模式文件開始,嘗試著實(shí)踐了新的 API design guideline,使用自己的項(xiàng)目來做例子:
** - 明確用法(Promote Clear Usage)**
** 1. 語句應(yīng)該避免歧義(Include all the words needed to avoid ambiguity)**
這一個(gè)例子因?yàn)檫€不是Swift 3,需要等到以后再進(jìn)行更改
比如說:
func remove( id: Int ) { }
user.remove(x)
這里的 remove(x) 是什么意思?意思非常的不明確
在官方的 guideline 中,告訴我們,應(yīng)該這樣寫:
func remove( id: Int ) { }
user.remove(at: x)
這樣子就可以清晰地知道,這是通過位置來刪除用戶
當(dāng)然,可以將 at: 放上去也是 swift 3 的新特性了
** 2. 省略不需要的詞語(Omit needless words) **
相對于 Objective - C 事無巨細(xì)的要求,swift 的要求要簡略的多:
從:
func addItems(items: [Item], withId: TagItemId)
變成了:
func add(items: [Item], at: TagItemId)
方法中的 item: 也一并構(gòu)成了方法的名字,讓方法更加簡潔了