Я привожу в порядок свой древний код Cocoa, чтобы использовать современные соглашения об именовании. Было много дискуссий о лучших практиках, но я не уверен в одном.
Я думаю о добавлении префикса к именам методов категорий, чтобы обеспечить уникальность. Кажется, все согласны, что это хорошая идея, хотя большинство людей, вероятно, не беспокоятся.
Мой вопрос: как насчет метода категории NSDictionary
, такого как -copyDeep
, который выполняет глубокое копирование? Раньше метод назывался -deepCopy
, но я поменял местами слова, так как анализатор ищет префикс "copy". Поэтому я предположительно не мог добавить префикс. А наличие "префикса" в середине или в конце имени метода кажется беспорядочным и непоследовательным.
Мне также было бы интересно узнать мнение о стиле префикса - в настоящее время я использую DS
(для Dejal Systems) для префиксов классов. Но я знаю, что Apple теперь хочет оставить все двухсимвольные префиксы за собой, поэтому я думаю об использовании Dejal
, например, мой класс DSManagedObject
будет переименован в DejalManagedObject
. И возвращаясь к категориям, их методы будут переименованы с добавлением префикса dejal
, например, с -substringFromString:
на -dejalSubstringFromString:
. Но -dejalCopyDeep
запутает анализатор, так что, возможно, мне придется быть непоследовательным для таких методов и использовать -copyDeepDejal
или -copyDeep_dejal
?
Я буду переиздавать свои категории и различные классы как открытый исходный код, когда приведу их в порядок, так что следование последним соглашениям будет полезно.