LINUX.ORG.RU

Где найти примеры стилей отступов с названиями?

 , ,


1

1

Когда читаю чужой код, понимаю, что я даже не знаю, как называются стили отступов, использованные в нём.
Вот это K&R:

int main(int argc, char *argv[])
{
    ...
    while (x == y) {
        something();
        somethingelse();
 
        if (some_error) {
            do_correct();
        } else {
            continue_as_usual();
        }
    }
 
    finalthing();
    ...
}
Я обычно пишу в таком стиле:
int main(int argc, char *argv[]) {
    ...
    while (x == y) {
        something();
        somethingelse();
 
        if (some_error) {
            do_correct();
        } else {
            continue_as_usual();
        }
    }
 
    finalthing();
    ...
}
Казалось бы, отличие минимальное, но этот стиль довольно распространён. Не верю, что у него нет названия.
Или вот такое ещё:
int main (int argc, char *argv[]) {
    ...
    while (x == y) {
        something ();
        somethingelse ();
 
        if (some_error) {
            do_correct ();
        } else {
            continue_as_usual ();
        }
    }
 
    finalthing ();
    ...
}
Последнее время всё чаще встречаю код в этом стиле. Бесят эти ужасные ненужные пробелы. Как это называется?
Или есть ещё стиль «Я у мамы дурачок» (вот, например). Я думал, это gnu, а оказалось, что не gnu. Зачем так делать? Как это называется?

★★★★★
Ответ на: комментарий от zz

Нет, это праздный интерес. Редакторов и без меня полно.

CYB3R ★★★★★
() автор топика
int main( argc, argv )
int argc;
char *argv[];
{
    ...
    while (x == y) 
            {
            something();
            somethingelse();
 
            if (some_error) 
                    {
                    do_correct();
                    } 
            else 
                    {
                    continue_as_usual();
                    }
            }
 
    finalthing();
    ...
}
EXL ★★★★★
()

Это вариация K&R. Можно так и называть, смысл не поменяется.

Пробелы к стилю отступов не относятся и никак не называются, кроме «пробел между именем и скобками». Бесят - не используй.

Стиль «я у мамы дурачок» тоже никак не называется, потому что используется не всегда, а в случае километровых списков аргументы - ты зря пытаешься оскорблять автора, он всё правильно сделал. Ты просто с таким не сталкивался. То, что у функции неправильный дизайн - проблема другая.

Сходи в аптечку, купи глицин и пей по утрам. Негоже из-за такого нервы изводить.

E ★★★
()
Ответ на: комментарий от E

Я не против лишних переносов строк, чтобы было легче читать аргументы. Но если весь код так оформлять, то читаемость наоборот падает.

CYB3R ★★★★★
() автор топика

Твой вариант напоминает Google C++ StyleGuide (имхо, наиболее адекватный), только отступы по 2 пробела сделай ещё. И слишком мало кода у тебя, чтобы отнести его к какому-то конкретному стилю.

Y ★★
()

Не верю, что у него нет названия.

astyle называет его «java». В документации к astyle все стили поименованы.

anonymous
()

стиль «Я у мамы дурачок» (вот, например). Я думал, это gnu, а оказалось, что не gnu. Зачем так делать? Как это называется?

Судя по описанию проекта это «Я у мамы мако*б»

buddhist ★★★★★
()

А вот были бы begin-end вместо идиотских фигурных скобок, жилось бы нам немного легче.

CARS ★★★★
()
Ответ на: комментарий от EXL

Так отцы кодировали. Ещё до всяких там хипстерских Windows и Linux.

Что именно за отцы? Недавно смотрел исходники Seventh Edition Unix [1] от 79-го года там всё по K&R. Сейчас для интереса посмотрел Fourth Edition Unix (1973), который, как пишут, первый Unix с ядром, написанным на Си, так и там K&R. Вроде бы отцовее некуда.

А это больше на GNU-код похоже [2], только ещё страшнее.

[1] http://minnie.tuhs.org/cgi-bin/utree.pl
[2] http://www.gnu.org/prep/standards/standards.html#Formatting

unterwulf
()

Первый можешь называть именем меня. Второй - именем себя.

nanoolinux ★★★★
()
Ответ на: комментарий от EXL

gnu style вроде не? От него даже человек стол отговаривал.

nanoolinux ★★★★
()
Ответ на: комментарий от CYB3R

ага, заглавными буковками. тогда уж не begin/end, а IDENTIFICATION DIVISION надо задефайнить.

anonymous
()

в code::blocks есть встроенная утилка для переформатирования кода, с примерами и названиями стилей. то о чём вы говорите, называется там Java-стиль.

раньше тоже так писал. сейчас предпочитаю стиль Хорстманна

int Foo(bool isBar)
{  if (isBar)
   {  bar();
      return 1;
   }
   else
      return 0;
}
next_time ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.