2010-09-28 2 views

ответ

3

У Apple Coding Guidelines for Cocoa есть много советов по этим линиям.

Короче говоря, рекомендуется использовать префикс для имен классов и протоколов, особенно если вы разрабатываете фреймворк. Тем не менее, Apple уже использует префикс MP для своего MediaPlayer framework на iPhone, поэтому вы, вероятно, захотите выбрать другой.

0

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

+0

Apple [promotion] (https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingBasics.html#//apple_ref/doc/uid/20001281-1002226-BBCJECED) использование двухбуквенных префиксов капитала. – dreamlax

+2

@dreamlax: В WWDC '10 один из инженеров Apple посоветовал не применять префикс своих классов, заявив, что Apple зарезервировала двухбуквенные префиксы для собственного использования. См. Https://deimos.apple.com/WebObjects/Core.woa/BrowsePrivately/adc.apple.com.4092349126.04109539109.4144345635?i=2082492890 – mipadi

+0

@mipadi: Я собирался отправиться в этом году, но мой босс сказал, что это не так, после того, как Apple Engineer сказал ему, что это не обязательно (мы имеем дело только с очень специфической частью разработки Mac OS X, которая не сильно изменилась с 10.4). Пора сесть и посмотреть все вещи, которые я пропустил. – dreamlax

0

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

Еще одна причина для префикса - если у вас одноименное имя из-за аналогичного названия в том же проекте, но имеет разную функциональность и рискнуть запутать. Например, если вы решили создать класс с именем state, как в состоянии, в котором вы живете. Затем вы хотите создать класс с именем state, означающим текущее состояние вашего приложения. Было бы неплохо использовать префикс типа ADState и APState (AD для адреса и AP для приложения). В других рамках они имеют пространства имен, которые выполняют ту же работу.

Смежные вопросы