Подтвердить что ты не робот

Objective-C Префиксы класса

Какое у вас предпочтение с именами классов ObjC? Я немного сомневаюсь в том, что было бы самым разумным подходом к этому, поэтому было бы неплохо услышать другие мнения.

Apple рекомендует использовать префикс cocoa, потому что ObjC не поддерживает пространства имен. Google ObjC styleguide (для которого я в основном нацелен) устраняет их, если вы не расширяете (категорию, расширение класса и т.д.) NSClass.

Мое предпочтение было бы не в префиксных классах, потому что я также считаю это пустой тратой писем и не способствует возникновению причины. Он должен использоваться только в коде рамки, чтобы сигнализировать, что этот класс принадлежит ему, а не вашим классам приложений, но я бы не использовал его на уровне приложения.

Что вы, а главное ПОЧЕМУ?


Мое заключение (не стесняйтесь добавлять комментарии для получения наиболее обоснованного решения)


Классы уровня приложений:

  • Я решил пойти с 1 префиксом письма (например, CMyClass). Основные причины для целей организации файлов (например, лучше группировать в Finder), и он по-прежнему использует меньше букв имени класса, чем префиксы длиной 2 или более.
    • Используйте префикс C для классов cocoa (например, CAudioController.h)
    • Используйте префикс ' U' для коллекций утилит (обычный C, например USystemAudio.h)

Классы уровня уровня:

  • Префиксные классы с 2 или более пользовательскими буквами, предпочтительно уникальными, так как, вероятно, будут доступны другим приложениям.

Категория

  • Категории называются следующим образом: NSClassName+ExtensionPurpose
4b9b3361

Ответ 1

Моим общим подходом является префикс имен классов, которые являются частью фреймворка или загружаемого пакета, т.е. классов, которые могут быть разделены между несколькими приложениями и другими фреймворками, но не беспокоить классы, которые появляются как часть автономного приложения.

Если Стив Джобс дал мне одно желание, у него должно было быть пространство имен в Objective-C 3.0 (которое будет доступно завтра).

Ответ 3

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

Ответ 4

вы обязательно должны их префикс. если есть столкновение, поведение undefined.

что на самом деле происходит (последний раз я столкнулся с этим) заключается в том, что бинарный файл загружен, но ваш класс не загружен, если другой класс (objc) с этим именем уже загружен. я дам вам понять, какую реализацию вы получите при создании экземпляра этого класса;) такое столкновение, вероятно, приведет к сбою или большому количеству проглатываемых исключений (и нефункциональному приложению). многие разработчики используют 2 заглавных буквы, что (при прочих равных условиях) 26 * 26 вероятность того, что они будут использовать один и тот же префикс. снова - это случилось со мной soooo.... лучше, чтобы вы сделали это, чтобы не переписывать много кода позже.