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

2019-08-02 08:39:34 +08:00
 ufo22940268

代码 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 的地址在这里

2528 次点击
所在节点    iOS
2 条回复
kingcos
2019-08-02 09:09:39 +08:00
Guidelines 只是指导,没有太大约束力,不要为了参考标准而参考,苹果也在不同版本改了很多次这里的东西 API,最早是 removeAt(_ index: Int) 类似这样的

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/588395

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX