【问题标题】:List of already used objective-c Prefixes已经使用的objective-c前缀列表
【发布时间】:2011-02-13 20:32:01
【问题描述】:

我正在为我正在编写的库选择一个命名空间,并且我想避免与其他命名空间发生冲突。

有人知道列出所有正在使用的类前缀的网站吗?

【问题讨论】:

    标签: objective-c iphone cocoa


    【解决方案1】:

    https://cocoadev.github.io/ChooseYourOwnPrefix/ 可能是您最好的选择。它不是“官方的”,但它是很多开发者都会关注的地方。

    在实践中,只要你不使用 Apple 使用的,你可能会没事的。

    【讨论】:

    • 正如 bdrister 所说,只要不使用 Apple 前缀,根本不会遇到很多问题。在 iPhone 上,您的应用是沙盒化的,不会加载任何动态/共享库,因此您不会与其他 3rd 方应用发生冲突。
    • 是的,我根本不关心应用程序的前缀——只有那些打算被其他应用程序使用的框架和插件
    • github.com/KingOfBrian/VocalKit - 我已将 VK 添加到上面的列表中。只是想确保我没有踩到明显的库。
    • 不幸的是,该列表似乎没有更新,因为 Apple 使用的核心位置 (CL) 或 MapKit (MK) 前缀均未列出。
    • @JeremyP,完全没有前缀是个坏主意。几年前,Apple 发布了地址簿框架,其中包含一个名为“Account”的私有内部类。破坏了一大堆甚至没有使用 AB 的应用程序(他们通过使用另一个链接到它的 Apple lib 间接获得它,我忘记了。邮件表,也许?ShareKit?)
    【解决方案2】:

    “您应该尝试选择能够清楚地将每个符号与您的框架相关联的名称。例如,考虑 为所有外部符号名称添加一个短前缀。前缀有助于区分框架中的符号 来自其他框架和库中的那些。他们还向其他开发人员明确了哪个框架是 正在使用。典型的前缀包括前几个字母或框架名称的首字母缩写词。为了 例如,Core Graphics 框架中的函数使用前缀“CG” https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/BPFrameworks.pdf

    【讨论】:

      【解决方案3】:

      根据 2012 年 12 月 13 日的 Apple“Objective C 编程”文档,Apple 保留所有 2 个字符前缀以在其框架中使用。鼓励用户在命名他们的类时使用 3 个字符前缀以避免与 Apple 冲突。有关详细信息,请参阅“约定”部分。

      【讨论】:

      【解决方案4】:

      作为首字母前缀的替代方案:

      • 如果您正在编写应用程序,请不要使用前缀。您不太可能在您的应用中遇到另一个名为 AppController 的类。
      • 否则,使用产品名称作为前缀。例如,如果您编写了一个名为“Whizbang”的颜色选择器,请将其主体类命名为“WhizbangColorPicker”。

      【讨论】:

      • 虽然我同意不为应用程序类使用前缀,但事实证明,Apple 的一些私有框架不使用类前缀。具体来说,私有框架 MIME.framework 有一个 Message 类和其他一些类。
      • 出于这些原因,强烈反对避免使用前缀。总是前缀。
      • 完全没有前缀是个坏主意。几年前,Apple 发布了地址簿框架,其中包含一个名为“Account”的私有内部类。破坏了一大堆甚至没有使用 AB 的应用程序(他们通过使用另一个链接到它的 Apple lib 间接获得它,我忘记了。邮件表,也许?ShareKit?)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      相关资源
      最近更新 更多