在objective-C中,通常在类名或C函数的开头加上两个或三个字母前缀,例如,数组类名为NSArray
NS,因为它最初是由Next Step开发的。这可以避免命名空间冲突。现在,如果我要创建自己的库,那么将我的首字母加到我创建的新类的开头是很常见的,例如,我可能会以无限的智慧决定世界需要另一个数组类,我可能会创建一个全新的类数组类称为BGArray
。
所以现在我正在开发一个最初由Prince Witherham The Second(完全虚构的名字)开发的开源项目,并且他得到了项目中所有以PW2
为前缀的课程。我想扩展项目并在项目中添加一些我自己的类,我应该如何命名这些新对象,我应该:
使用PW2
作为新对象的前缀:这样可以保持整个项目的一致性,但可能会为Prince创建名称空间冲突,例如,如果我创建了一个新的PW2Foo类,并且Prince已经有了一个PW2Foo类在他正在进行的其他项目中。
使用BG
(我的姓名缩写)预先添加新对象:这样可以避免任何命名空间冲突,但会将我的首字母缩写为我没有真正启动的内容,也可能会增加使用未来的项目。
问威尔瑟姆王子第二个他更喜欢的东西:这可能是最直接的前进但我可以看出它有问题,如果王子不再那么积极地维持这个项目,因为他正在度假私人岛屿,他们并不总是有互联网连接。
答案 0 :(得分:1)
我认为使用您自己的名称为类添加前缀是很常见的,但对于项目名称的前缀也很常见。请注意,NS
不是唯一的Cocoa前缀:CG
以及CV
和CA
都取决于类来自哪个框架。你明白了。
因此,我认为这些选项中最好的(尽管选项3当然可以覆盖它,如果项目经理更喜欢别的东西)是选项1:项目中的所有类应该具有相同的前提。