V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ufo22940268
V2EX  ›  iOS

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

  •  
  •   ufo22940268 · 2019-08-02 08:39:34 +08:00 · 2521 次点击
    这是一个创建于 1923 天前的主题,其中的信息可能已经有所发展或是发生改变。

    代码 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-08-02 09:09:39 +08:00 via iPhone   ❤️ 2
    Guidelines 只是指导,没有太大约束力,不要为了参考标准而参考,苹果也在不同版本改了很多次这里的东西 API,最早是 removeAt(_ index: Int) 类似这样的

    说回这两个,第一处代码对于 Array 的插入是比较让人清晰的,因为我们知道要插入数组的动作,且介词不要跟在函数名后面,放在外部参数名暗示我们该参数是下标,语义化更好。
    而第二个 removeBox,读这段代码的人很难知道相应的数据结构,因此带上 havingLength 更符合语义化。
    kingcos
        2
    kingcos  
       2019-08-02 09:11:59 +08:00 via iPhone
    @kingcos fadeFrom 和 moveTo 后面是一个整体,所以没必要每个参数前都要加介词,这里放在函数名,后面参数作为整体也确实能够理解
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   999 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:37 · PVG 05:37 · LAX 13:37 · JFK 16:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.