Лучшие практики для именования методов категории в Какао - PullRequest
1 голос
/ 26 сентября 2011

Я столкнулся с одной из двух классических задач программирования.Я пишу фреймворк Cocoa, который представляет собой набор (в основном) полезных методов в категориях наиболее часто используемых классов Foundation.У меня вопрос, как мне назвать эти дополнительные методы в моих категориях для указанных классов?Стоит ли использовать префикс или соглашение о присвоении имен без префиксов (например, - (void)doSomething против - (void)myDoSomething)?

Я не уверен, читая документацию по Какао:

Использовать префиксы приименование классов, протоколов, функций, констант и структур typedef.Не используйте префиксы при именовании методов;методы существуют в пространстве имен, созданном классом, который их определяет.Кроме того, не используйте префиксы для именования полей структуры

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

1 Ответ

2 голосов
/ 26 сентября 2011

Я не думаю, что в документации, которую вы цитировали, учитываются категории классов, которыми вы не владеете.Это просто попытка сказать, что если вы определили MyClass, вам также не нужно называть ваши методы my_doThis, потому что нет ничего, с чем они могли бы столкнуться.

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

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

...