Соглашения о присвоении имен переменной экземпляра в Какао

Полагаю, ваш реальный вопрос в том, что если c # может делать все, зачем вообще использовать javascript? Ответ здесь - производительность, как воспринимаемая, так и реальная. Хитрость заключается в том, что для использования C # для выполнения DOM-манипуляций, обычно связанных с javascript, браузер должен отправить дополнительный http-запрос на сервер и сообщить коду c #, что делать. Давайте поговорим об этих дополнительных запросах. Распространение вокруг множества пользователей, они очень быстро складываются и разрушают инфраструктуру вашего сервера. «Реальная» проблема производительности заключается в том, что теперь большая часть работы должна выполняться на вашем сервере (ах), а не в браузерах ваших пользователей. «Воспринимаемые» проблемы с производительностью заключаются в том, что даже если у вас есть ресурсы сервера для простой обработки всех дополнительных http-запросов, ваш пользователь теперь должен тратить дополнительное время на ожидание задержки, вызванной этими обходами http.

10
задан DougW 9 November 2009 в 18:59
поделиться

4 ответа

Я обычно использую имена переменных экземпляра без префикса (обратите внимание, что «переменная-член» - это изм C ++, поскольку он предполагает, что структуры и классы в основном взаимозаменяемы, чего нет в Objective-C), и в случаях, когда возникает двусмысленность, я использую соглашение Smalltalk о наименовании параметра по его типу с помощью «a» или «an», например:

- (void)setFoo:(SOFoo *)aFoo;
{
    foo = aFoo;
}

(конечно, в современном ObjC вы бы использовали для этого свойство.)

Использование theFoo вместо aFoo также довольно распространено; см. ответы на этот вопрос .

Соглашение Google имеет смысл, если вы действительно беспокоитесь о конфликтах. Если вы используете текстовый макрос Xcode или такой инструмент, как Completion Dictionary или Accessorizer для создания своих директив, его довольно просто принять.

Обратите внимание, что

1143103] Руководство по кодированию значения ключа какао в значительной степени предполагает, что либо (а) вы не добавляете префикс / суффикс к именам переменных экземпляра, либо (б) вы реализуете (или синтезируете) для них методы доступа без префиксов / суффиксов. Как уже упоминалось, не используйте префикс _; он зарезервирован для использования Apple в своих фреймворках.

Как уже упоминалось, не используйте префикс _; он зарезервирован для использования Apple в своих фреймворках.

Как уже упоминалось, не используйте префикс _; он зарезервирован для использования Apple в своих фреймворках.

10
ответ дан 3 December 2019 в 18:33
поделиться

m_variableName также довольно часто используется для переменных-членов. Лично я обычно использую одно и то же имя для обеих переменных и делаю различие между this.varname и varname .

0
ответ дан 3 December 2019 в 18:33
поделиться

В Какао стиль состоит в том, чтобы иметь имена pascalCased (или это CamelCased? Я никогда не могу вспомнить); и пусть переменные-члены будут названы так же, как методы доступа. (Например, NSInteger anInteger , - anInteger и - setAnInteger: ).

Это может быть не лучший стиль, но, вероятно, неплохая идея. привыкайте к нему, если вы собираетесь проделать какой-либо объем работы с Какао, так как ряд механизмов предполагает именно этот тип соглашения об именах.

4
ответ дан 3 December 2019 в 18:33
поделиться

Во-первых: в Objective-C нет «переменных-членов», есть «переменные экземпляра» или «ivars».

Google НЕ является авторитетом в области кодирования Objective-C или разработка для Mac. «Google Планета Земля - ​​это приложение Qt», - сказал Нафф.

Кажется, я помню, как видел официальное руководство по стилю кодирования от Apple для Objective-C, которое я не нахожу на данный момент. Однако эта статья представляет собой довольно хорошее резюме:

http://cocoadevcentral.com/articles/000082.php

Нашел! Вот официальные рекомендации Apple по кодированию для Какао:

http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html

6
ответ дан 3 December 2019 в 18:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: