Вот фрагмент кода из моего приложения для iOS:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Do you like my hat?"
message:@"If so, please help spread the word by rating our app now?"
delegate:nil
cancelButtonTitle:@"No Thanks"
otherButtonTitles:@"Sure!", @"Maybe Later", nil
];
Почему строки отступа Xcode так кровавы? Будучи старой Perl, Ruby и JavaScript обезьяной, я был бы более склонен сделать отступ вручную, например, так:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Do you like my hat?"
message: @"If so, please help spread the word by rating our app now?"
delegate: nil
cancelButtonTitle: @"No Thanks"
otherButtonTitles: @"Sure!", @"Maybe Later", nil
];
Таким образом, имена и значения параметров выровнены по левому краю и имеют отступ только на один уровень (4 пробела для меня). При этом используется гораздо меньше экранного пространства, и менее вероятно, что мне придется иметь дело с переносящимися линиями (которые делают крайне правые отступы еще сложнее при чтении) на моем MacBook Air.
Тем не менее, я предполагаю, что есть некоторая причина, по которой Apple предпочитает первый метод, и поэтому имеет отступ Xcode таким образом. Или есть?
Итак, у меня два вопроса:
- Как вы предпочитаете делать отступы параметров метода в коде Objective C?
- Как настроить Xcode для форматирования с предпочитаемым стилем отступа?
Не пытается начать священную войну здесь; Мне более любопытно узнать, каковы лучшие практики среди программистов Objective-C, как Xcode помогает с этими практиками, и выяснить, есть ли веские основания для того, как Xcode делает это по умолчанию.
Обновление: Комментаторы и ответы указывают, что форматирование по умолчанию выравнивает параметры в их двоеточиях. Я должен был помнить это перед публикацией, так как я, конечно, заметил это, и когда самый длинный элемент не имеет большого отступа, он может выглядеть довольно хорошо. Но я считаю, что обычно самый длинный элемент имеет с большим отступом. Например:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Do you like my hat?"
message:@"If so, please help spread the word by rating our app now?"
delegate:nil
cancelButtonTitle:@"No Thanks"
otherButtonTitles:@"Sure!", @"Maybe Later", nil
];
Почему это? Даже если бы я хотел, чтобы они выровнялись в двоеточиях (и я часто отформатировал их для этого), кажется глупым делать такие отступы. Почему он настаивает на отступе до уровня вводной кишки? Почему бы не один уровень отступа с закрывающей скобкой, обозначенной концом «блока» отступа? Например:
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Do you like my hat?"
message:@"If so, please help spread the word by rating our app now?"
delegate:nil
cancelButtonTitle:@"No Thanks"
otherButtonTitles:@"Sure!", @"Maybe Later", nil
];
Похоже, что по умолчанию лучше, чем рекомендация по длине строки руководства по стилю Google , нет?
Есть ли способ настроить Xcode для форматирования параметров таким образом?