ufo22940268
V2EX  ›  iOS

Swift API Guidelines 里面有些东西搞不懂

By ufo22940268 at 2019 年 8 月 2 日 · 3153 次点击

代码 1

array.remove(at: index)

这样子的设计是合理的

原因是这个

代码 2

 x.removeBoxes(havingLength: 12).

这样子的设计也是合理

原因是这个

问题

如果代码 2是合理的,那么代码 1也应该符合When the first argument forms part of a prepositional phrase, give it an argument label.这个原则,所以代码 1 应该改成

array.remove(atIndex: index)

PS

Swift API GuideLines 的地址在这里

2 条回复  •  2019-08-02 09:11:59 +08:00
kingcos
   1
kingcos  
   2019 年 8 月 2 日 via iPhone   ❤️ 2
Guidelines 只是指导,没有太大约束力,不要为了参考标准而参考,苹果也在不同版本改了很多次这里的东西 API,最早是 removeAt(_ index: Int) 类似这样的

说回这两个,第一处代码对于 Array 的插入是比较让人清晰的,因为我们知道要插入数组的动作,且介词不要跟在函数名后面,放在外部参数名暗示我们该参数是下标,语义化更好。
而第二个 removeBox,读这段代码的人很难知道相应的数据结构,因此带上 havingLength 更符合语义化。
kingcos
   2
kingcos  
   2019 年 8 月 2 日 via iPhone
@kingcos fadeFrom 和 moveTo 后面是一个整体,所以没必要每个参数前都要加介词,这里放在函数名,后面参数作为整体也确实能够理解
© 2026 V2EX · 24ms · 3.9.8.5