Objective-C类前缀

Eri*_*ner 12 cocoa coding-style objective-c

命名ObjC课程你有什么偏好?我有点不确定什么是最合理的方法,所以听听其他一些意见会很高兴.

Apple建议为可可类添加前缀,因为ObjC不支持名称空间.谷歌ObjC风格指南(我主要针对的是)取消它们,除非你扩展(类别,类扩展等)一个NSClass.

我的偏好不是为类添加前缀,因为我也认为这是浪费字母而不会导致原因.它应该仅在框架代码中用于表示此类属于它而不是应用程序的类,但我不会在应用程序级别上使用它.

什么是你的,最重要的是为什么?


我的结论(请随意添加您的意见以做出最明智的决定)


应用程序级别:

  • 我决定使用1个字母前缀(如CMyClass).主要原因是文件组织目的(例如,在Finder中更好的分组),并且它仍然使用较少的类名字母而不是长度为2或更长的前缀.
    • 对可可类使用前缀' C '(例如CAudioController.h)
    • 对实用程序集合使用前缀" U "(例如,纯C USystemAudio.h)

框架级别类:

  • 带有2个或更多自定义字母的前缀类,最好是唯一的,因为它可能会与其他应用程序共享.

分类

  • 类别命名如下: NSClassName+ExtensionPurpose

Jer*_*myP 22

我的一般方法是为作为框架或可加载包的一部分的类名添加前缀,即可以在多个应用程序和其他框架之间共享的类,但不要打扰作为独立应用程序的一部分出现的类.

如果史蒂夫·乔布斯给了我一个愿望,那就是在Objective-C 3.0中有一个名字空间(将在明天上市).

  • 我个人鄙视这些前缀.在这种情况下,我的意见与你的完全一样.我从未与框架类发生过冲突,因为它没有使用前缀,它们在一定程度上降低了代码的可读性.在框架中,他们可以发出"嘿,我属于这个框架,而不是你的应用程序代码".如果存在冲突,编译器无论如何都会报告此问题(在大多数情况下). (2认同)