Привет,
Если мое приложение называется «Media Player», лучше всего назвать классы: MPSong, MPSinger, MPAlbumsViewController ...?Руководство по именованию для классов Objective-C
ответ
У Apple Coding Guidelines for Cocoa есть много советов по этим линиям.
Короче говоря, рекомендуется использовать префикс для имен классов и протоколов, особенно если вы разрабатываете фреймворк. Тем не менее, Apple уже использует префикс MP для своего MediaPlayer framework на iPhone, поэтому вы, вероятно, захотите выбрать другой.
Все капитальные двухбуквенные префиксы зарезервированы Apple, поэтому вы не должны их использовать. Но в противном случае нет определенного ответа на этот вопрос - это вопрос личного вкуса. Я лично использую префикс для классов библиотеки, но не для классов приложений.
Я не знаю, является ли способ, которым я называю классы, является лучшей практикой или нет, но если у меня есть класс, уникальный для проекта, я просто даю ему значащее имя и начинаю с заглавной буквы. Однако, если это класс, который я намерен использовать повторно, я могу придать ему префикс, как инициалы моей компании или меня, поэтому я вижу, что класс предназначен для повторного использования.
Еще одна причина для префикса - если у вас одноименное имя из-за аналогичного названия в том же проекте, но имеет разную функциональность и рискнуть запутать. Например, если вы решили создать класс с именем state, как в состоянии, в котором вы живете. Затем вы хотите создать класс с именем state, означающим текущее состояние вашего приложения. Было бы неплохо использовать префикс типа ADState и APState (AD для адреса и AP для приложения). В других рамках они имеют пространства имен, которые выполняют ту же работу.
- 1. Инструкции по именованию для JavaScript
- 2. Совет по именованию столбцов
- 3. Руководство по разработке функций/классов
- 4. ObjectiveC, создавая массив классов
- 5. Рефакторинг для частичных классов - Руководство
- 6. Требования к именованию для TrackMetric?
- 7. Хорошие рекомендации по именованию свойства BOOL
- 8. Соглашения по упаковке и именованию Grails
- 9. Создать код Objectivec C из диаграммы классов
- 10. Руководство по монтажу Руководство по эксплуатации
- 11. Справочное руководство по Web2Py
- 12. Руководство по проектированию событий
- 13. Руководство для начинающих по LINQ
- 14. Руководство для начинающих по BPEL
- 15. Руководство по стилю для C#?
- 16. Руководство для начинающих по Haskell?
- 17. Руководство по достижимости для iOS
- 18. Руководство по запуску для ektron
- 19. Руководство для начинающих по рельсам
- 20. Руководство по PHP для затмения
- 21. Руководство по синтаксису для ActionScript 3.0
- 22. Руководство по применению каскада NHibernate
- 23. Требования к именованию функции javascript
- 24. Руководства по именованию файлов в iOS и Android
- 25. Как загрузить документацию по именованию и каталогу Java?
- 26. Unity3D iOS плагин с использованием источников ObjectiveC для создания экземпляров классов
- 27. Справочное руководство по Linux
- 28. Небольшое руководство по jmock
- 29. lsof Руководство по выживанию
- 30. Справочное руководство по CSS3
Apple [promotion] (https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html#//apple_ref/doc/uid/20001281-1002226-BBCJECED) использование двухбуквенных префиксов капитала. – dreamlax
@dreamlax: В WWDC '10 один из инженеров Apple посоветовал не применять префикс своих классов, заявив, что Apple зарезервировала двухбуквенные префиксы для собственного использования. См. Https://deimos.apple.com/WebObjects/Core.woa/BrowsePrivately/adc.apple.com.4092349126.04109539109.4144345635?i=2082492890 – mipadi
@mipadi: Я собирался отправиться в этом году, но мой босс сказал, что это не так, после того, как Apple Engineer сказал ему, что это не обязательно (мы имеем дело только с очень специфической частью разработки Mac OS X, которая не сильно изменилась с 10.4). Пора сесть и посмотреть все вещи, которые я пропустил. – dreamlax