Ответ 1
Руководства Apple по кодированию можно найти здесь: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html
Я учил себя Objective-C около 6 месяцев и, как и многие другие, использовал язык. Однако я не нашел хороших стандартов кодирования, поэтому код, который я пишу, всегда заканчивается как непоследовательный беспорядок.
Вещи, подобные соглашениям об именах, переносятся просто отлично, но интервалы, отступы и (невозможно?) ширина символа 80 символов не работают так хорошо.
Какие соглашения вы используете с Objective-C?
Вот небольшой пример того, что не работает:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
self.navigationItem.leftBarButtonItem =
[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
target:self.parentViewController
action:@selector(done:)] autorelease];
NSString* units = [[NSString alloc] initWithFormat:@"%@", @"oz"];
NSString* optionOne = [[NSString alloc] initWithFormat:@"[%d%@] Calculate", 100, units];
self.options = [[NSMutableArray alloc] initWithObjects:
optionOne,
@"Configure Portions",
@"Configure Notifications",
@"Help",
nil];
[units release];
[optionOne release];
[tableView reloadData];
}
return self;
}
Руководства Apple по кодированию можно найти здесь: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html
Отличный вопрос, спасибо, что спросили его.
Несколько моих личных стандартов кодирования:
[self setOptions:...]
на следующем. Это упрощает отладку в любом случае.[object property]
.m_
или по крайней мере _
. Но я обычно этого не делаю, потому что это уродливо смотреть. И добра знает, что мы, люди Apple, ненавидим уродливые вещи.:)(Для чего в вашем примере выше вы можете получить строку с автореализацией напрямую, используя -[NSString stringWithFormat:...]
вместо alloc/init/release.)
Не то, что я использую и/или люблю его, но Google Objective-C Руководство по стилю стоит упомянуть и прочитать.
Это, вероятно, особое мнение здесь, но... Я вообще не отступаю от одной строки, я включаю слово-обертывание. Преимущество этого заключается в том, что вы можете сжимать/растягивать окна, и код всегда выглядит хорошо, плюс вам не нужно тратить время на беспорядки с новыми символами и вкладками/пробелами, чтобы сделать ваш код приемлемым.
Это еще один хороший источник: (я новичок, поэтому я не мог бы отправить две ссылки в один и тот же ответ) http://cocoadevcentral.com/articles/000082.php (Cocoa Стиль для Obj C часть 1 из 2)
часть 2 - это одна и та же ссылка, но заканчивается в 000083.php