Префиксы класса Objective-C [закрыто]



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

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

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

Что твое, и самое главное почему?


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


Классы Прикладного Уровня:

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

Классы Уровня Фреймворка:

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

категории

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

4 ответов:

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

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

Есть очень хорошее руководство Скотта Стивенсона о том, как должен выглядеть код objective-C. Проверьте следующие ссылки.

Http://cocoadevcentral.com/articles/000082.php
http://cocoadevcentral.com/articles/000083.php

Эти ссылки также ответят на ваш вопрос, как вы должны называть свои классы и почему.

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

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

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

    Ничего не найдено.

Добавить ответ:
Отменить.