Префикс именования классов и функций Objective-C для проектов с открытым исходным кодом - PullRequest
3 голосов
/ 13 сентября 2011

В target-C обычно ставится префикс двух или трех букв в начале имени класса или функции C, например, класс массива называется NSArray NS, потому что он был первоначально разработан Next Step.Это позволяет избежать коллизий пространства имен.Теперь, если я собираюсь уйти и создать свою собственную библиотеку, то обычно я ставлю префиксы к началу новых классов, которые я создаю, например, я могу решить, исходя из своей бесконечной мудрости, что миру нужен другой класс массива, и я могу создать совершенно новыйкласс массива с именем BGArray.

Так что теперь я работаю над проектом с открытым исходным кодом, который был первоначально разработан Принцем Уизерхемом Вторым (полностью вымышленное имя), и у него есть все классы в проекте с префиксомс PW2.Я хочу расширить проект и добавить несколько собственных классов в проект: «Как мне назвать эти новые объекты?». Должен ли я:

  1. Префикс новых объектов с PW2: Это сохраняет согласованность проекта, но может создать конфликт пространства имен для Prince, если, например, я создаю новый класс PW2Foo, а у Prince уже есть класс PW2Foo в каком-то другом проекте, над которым он работает.

  2. Префикс новых объектов с BG (Мои инициалы): это позволит избежать любых коллизий пространства имен, но приведет к тому, что мои инициалы появятся на том, что я на самом деле не запустил, и это также может создать путаницу для людей, использующих проект вбудущее.

  3. Спросите принца Уизерхама Второго, что он предпочел бы: Это, вероятно, самый прямой путь, но я вижу, что это проблематично, если принц не так активно поддерживаетпроект больше, потому что он отдыхает на своем частном острове, где у них не всегда есть подключение к интернету.

1 Ответ

1 голос
/ 13 сентября 2011

Я полагаю, что обычным является префиксный класс с вашим собственным именем, но также довольно распространенный префикс с именем проекта. Обратите внимание, что NS не является единственным префиксом Какао: также есть CG, а также CV и CA, все в зависимости от того, из какой структуры взят класс. Вы получаете точку.

Как таковой, я считаю, что лучший из этих вариантов (хотя вариант 3 может его переопределить, если менеджер проекта предпочел бы что-то другое) - это вариант 1: все классы в проекте должны иметь одинаковые префиксы.

...