Подтвердить что ты не робот

Objective-C настройки вкладки и стиль пробелов

Документация, ссылки и сгенерированный код Apple Objective-C кажутся совершенно несовместимыми с их стилем кодирования. Я не могу определить "предпочтительный" стиль (если он существует) для Objective-C и Cocoa исходного кода.

Вот что я натолкнулся до сих пор.

Настройки вкладки

Значение по умолчанию для Xcode установлено на вкладки. Однако созданные проекты всегда создаются с 4 пробелами независимо от настроек вашей вкладки. Хуже того, в некотором сгенерированном коде есть зависающие вкладки. Приведенные примеры кода также меняются от проекта к проекту.

Интервал определения метода

В коде примера Apple различные стили определения метода даже варьируются в пределах одного файла. Но наиболее распространенный стиль интервала, по-видимому, включает пробел между - или + и пробелы только между аргументами добавления. Этот стиль также используется в справочной библиотеке Xcode, которая заставляет меня думать, что это предпочтительный стиль.

- (IBAction)reloadData:(id)sender;
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex

Несогласованные варианты:

- (IBAction) reloadData:(id)sender;
- (IBAction)reloadData:(id) sender;
-(IBAction)reloadData:(id)sender;
- (IBAction) reloadData: (id)sender;
- (id)tableView: (NSTableView *)aTableView objectValueForTableColumn: (NSTableColumn *)aTableColumn row: (NSInteger)rowIndex

Стиль фиксации

Еще одна вещь, которая является непоследовательной, - стиль скобки. Есть два популярных стиля:

Откройте скобу в своей строке:

  @interface Foo : NSObject
  {
  }

  - (id)init
  {
  }

Откройте скобку в той же строке, что и объявление метода:

  @interface Foo : NSObject {
  }

  - (id)init {
  }

Вопрос

Есть ли рекомендованный стиль кодировки для Objective-C от Apple? Если нет, какой стиль вы предпочитаете и почему?

4b9b3361

Ответ 1

Я обнаружил, что постоянно настраивал сгенерированные проекты на свой собственный предпочтительный стиль, поэтому я редактировал файлы шаблонов по своим предпочтениям (вкладки для отступа, фигурные скобки на отдельной строке). Файлы находятся здесь:

/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/

Я выбираю все, избавляюсь от всех отступов с помощью cmd- [(столько раз, сколько требуется документу), и делает Edit- > Format- > re-indent. Я подключился к shift-cmd- [для удобства.

Я видел различия в стиле, например, код и шаблоны проектов, и предположил, что это связано с возрастом разных файлов. Я думаю, у них были разные внутренние правила кодирования, которые изменились.

Здесь руководство по Google Obj-C:

http://google-styleguide.googlecode.com/svn/trunk/objcguide.xml

и еще один хороший из CocoaDevCentral:

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

если вы действительно хотите следовать правилам Apple, руководство по программированию Objective C содержит кучу примеров кода для принятия правил.

https://developer.apple.com/library/mac/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/