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

Как называется это соглашение для фигурных скобок?

Я немного озадачен количеством разработчиков, которых я вижу в методах и классах с фигурными фигурными скобками ниже имени класса или метода. Какое соглашение они следуют?

Sun четко заявляет, что правильная декларация будет следующей:

// this declaration follows sun conventions
class Sample extends Object {

    Sample(int i, int j) {
        ....
    }
}

Все больше и больше я вижу, что это объявлено как (даже в книгах):

// this declaration follows a convention I cant identify
class Sample extends Object 
{

    Sample(int i, int j) 
    {
        ....
    }
}

И я знаю, что конвенция - это просто конвенция, и, пока вы следуете за ней, все хорошо. Я просто ищу ответ на , какое соглашение следует за последним объявлением?

4b9b3361

Ответ 1

Это стандартное соглашение о стиле, называемое стилем ANSI. Он распространен и на других языках помимо Java.

Ответ 2

Как вы говорите, вы видели его довольно много - разве это не делает его конвенцией по своему усмотрению, есть ли у вас один источник или имя для этого соглашения? Это так легко описать, я не думаю, что это требует определенной атрибуции. Wikipedia "стиль отступа" называет это Allman Style или ANSI, но, честно говоря, я использовал его в течение многих лет, никогда не узнавая это имя, и я не думаю, что зная, что имя изменит что-нибудь о том, как я код:)

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

Ответ 3

Смотрите: http://en.wikipedia.org/wiki/Indent_style

Сион определил его как стиль ANSI, Sun следует за K & R-стиль размещения фигурных скобок.

Tangent: теперь я знаю, что проклятый стиль называется Стиль Whitesmiths

Ответ 4

Последний выглядит как стиль отступа Allman, который довольно популярен в С++, но я не видел его часто используемого в Java.

Ответ 5

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

Ответ 6

Первое соглашение экономит драгоценное пространство. Согласие на скобки выполняется редактором в любом случае.

Ответ 7

Второе соглашение также является стандартным стилем отступа Visual Studio (и, следовательно, довольно распространенным) для С#