Skip to content

Instantly share code, notes, and snippets.

View tonyhex's full-sized avatar

Anton Serov tonyhex

View GitHub Profile
@tonyhex
tonyhex / gist:c7061f16192183666e3b7969ed84c8d3
Created March 22, 2017 14:30
Имена булевых свойств в Objective-C
В Objective-C принятно, что имена булевых свойств должны быть причастиями, связками с причастиями или связками с глаголами в третьем лице.
Например, так делать нельзя: @property(nonatomic, readonly) BOOL isShowTileOverlay;
Вот список причин, почему так делать нельзя:
1. Имя свойства никогда не должно начинаться с is. С глагола is может начинаться только getter.
2. Даже если isShowTileOverlay переместить в getter, получившееся свойство все равно будет неверно, поскольку show — глагол и на английском языке нельзя сказать is show - это грамматическая ошибка.
3. Вызов [self showTileOverlay] судя из названия означает буквально "покажи tile overlay", но у нас это не метод, а свойство, которое возвращает BOOL и не делает ничего больше.
Нужно исходить из того, чем является сам объект self и к чему относится данное свойство. Сам объект, чьему свойству мы хотим придумать название, всегда должен быть сказуемым. Исходя из этого и вытекает название свойства. В нашем случае объектself — карта и у этой карты есть объект ove