В target-C обычно ставится префикс двух или трех букв в начале имени класса или функции C, например, класс массива называется NSArray
NS, потому что он был первоначально разработан Next Step.Это позволяет избежать коллизий пространства имен.Теперь, если я собираюсь уйти и создать свою собственную библиотеку, то обычно я ставлю префиксы к началу новых классов, которые я создаю, например, я могу решить, исходя из своей бесконечной мудрости, что миру нужен другой класс массива, и я могу создать совершенно новыйкласс массива с именем BGArray
.
Так что теперь я работаю над проектом с открытым исходным кодом, который был первоначально разработан Принцем Уизерхемом Вторым (полностью вымышленное имя), и у него есть все классы в проекте с префиксомс PW2
.Я хочу расширить проект и добавить несколько собственных классов в проект: «Как мне назвать эти новые объекты?». Должен ли я:
Префикс новых объектов с PW2
: Это сохраняет согласованность проекта, но может создать конфликт пространства имен для Prince, если, например, я создаю новый класс PW2Foo, а у Prince уже есть класс PW2Foo в каком-то другом проекте, над которым он работает.
Префикс новых объектов с BG
(Мои инициалы): это позволит избежать любых коллизий пространства имен, но приведет к тому, что мои инициалы появятся на том, что я на самом деле не запустил, и это также может создать путаницу для людей, использующих проект вбудущее.
Спросите принца Уизерхама Второго, что он предпочел бы: Это, вероятно, самый прямой путь, но я вижу, что это проблематично, если принц не так активно поддерживаетпроект больше, потому что он отдыхает на своем частном острове, где у них не всегда есть подключение к интернету.