Как называется эта конвенция для фигурных скобок? - PullRequest
12 голосов
/ 15 декабря 2010

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

Солнце ясно заявляет , что правильное объявление будет:

// this declaration follows sun's 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) 
    {
        ....
    }
}

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

Ответы [ 7 ]

28 голосов
/ 15 декабря 2010

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

11 голосов
/ 15 декабря 2010

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

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

6 голосов
/ 15 декабря 2010

См .: http://en.wikipedia.org/wiki/Indent_style

Syrion определил его как стиль ANSI, Sun следует стилю размещения скобок K & R.

Касательная: и теперь я знаю, что проклятый стиль называется Стиль белых мастеров

4 голосов
/ 15 декабря 2010

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

3 голосов
/ 15 декабря 2010

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

2 голосов
/ 15 декабря 2010

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

1 голос
/ 15 декабря 2010

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

...