Показаны сообщения с ярлыком #pragma mark. Показать все сообщения
Показаны сообщения с ярлыком #pragma mark. Показать все сообщения

16 янв. 2015 г.

#MARK / #TODO / #FIXME в Swift

У каждого разработчика по мере разрастания кода приложения в голове возникает вопрос как правильно организовать логическую структуру кода и его функциональное разделение на определенные блоки для быстрого перехода по методам/функциям в классе. И более того если Ваш код перейдет на изучение другому разработчику.
На помощь приходят директивы препроцессора #MARK, #TODO и #FIXME.

Ранее в Objective-C директивы, например, #MARK выглядела немного иначе:

#pragma mark Some text

В Swift описание директивы работает по следующему принципу:
- // - два слэша, как в комментариях
- # - хеш-символ обозначающий начало директивы
- MARK: - имя директивы с двоеточием.

// #MARK: Some functionality method
// #TODO: Some to do in features ver 3.0
// #FIXME: Work with bugs

В итоге получаем разделение методов/функций на группы, где более-менее становится ясно что и где находится и какое предназначение группы.


Краткое описание директив:

#MARK: - Используется для разделения методов на группы для более быстрого перехода между блоками методов.

#TODO: - Используется для пометки реализации кода в будущих версиях, например, или что-то доделать, переделать.

#FIXME: - Используется для пометки методов с багами. Например, сам код в методе работает, но не очень стабильно.

Пример реализации:

P.S. #TODO и #FIXME - должны быть в верхнем регистре, #MARK - разрешается писать как #Mark.
Также в #MARK присутствует разделительная линия "-", и использовать ее можно только с #MARK.

29 мар. 2014 г.

#pragma mark

Директива #pragma mark добавляет строку в "Function menu". 

'#pragma mark -' - добавляет горизонтальную линию в меню;
'#pragma mark labelname' - добавляет заголовок.