Re: {
От: borya_ilin  
Дата: 18.09.16 14:05
Оценка: +5 -4 :))) :))) :))) :))
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?


{ на той же строчке что и for, конечно же. Это же единственный правильный стиль скобок
Отредактировано 18.09.2016 14:39 borya_ilin . Предыдущая версия .
Re[2]: {
От: T4r4sB Россия  
Дата: 18.09.16 15:21
Оценка: +14 :))) :))
Здравствуйте, утпутуук, Вы писали:

У>Здравствуйте, Varavva, Вы писали:


V>>Кто как ставит { для цикла for?

V>>В смысле в этой же строке или отдельно на следующей?

У>Отдельно

У>
У>for(unsigned i=0; i!=size; ++i)
У>   {
У>    if (data[i]>tres)
У>       {
У>        doSomething(i, data[i]);
У>       }
У>    else
У>       {
У>        doAnother(i, data[i]);
У>       }
У>   }
У>


Извини, но у тебя блевотный стиль. Я переживу и скобки отдельно, и скобки на старой строке, но не это.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
{
От: Varavva  
Дата: 18.09.16 12:33
Оценка: 1 (1) +15 -1
Кто как ставит { для цикла for?
В смысле в этой же строке или отдельно на следующей?

Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.
Re: {
От: andyp  
Дата: 18.09.16 12:49
Оценка: +7 -6 :))
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


Всеми разделяется убеждение, что вареные яйца при
употреблении их в пищу испокон веков разбивались с тупого конца; но дед
нынешнего императора, будучи ребенком, порезал себе палец за завтраком,
разбивая яйцо означенным древним способом. Тогда император, отец ребенка,
обнародовал указ, предписывающий всем его подданным под страхом строгого
наказания разбивать яйца с острого конца. Этот закон до такой степени
озлобил население, что, по словам наших летописей, был причиной шести
восстаний, во время которых один император потерял жизнь, а другой —
корону

Re[2]: {
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 18.09.16 17:51
Оценка: :))) :))) :))) :))) :)))
Здравствуйте, fin_81, Вы писали:

_>Переходи на Переходи на темную сторону силы питон.


Пфф. Кого это остановит?

for x in xrange(3): #{
    print x
#}
else: #{
    print 'Final x = %d' % (x)
#}


... << RSDN@Home 1.0.0 alpha 5 rev. 0>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Отредактировано 18.09.2016 17:52 kochetkov.vladimir . Предыдущая версия .
Re: {
От: ononim  
Дата: 20.10.16 22:39
Оценка: 3 (2) :))) :))) :)))

(с) https://twitter.com/UdellGames/status/788690145822306304
Как много веселых ребят, и все делают велосипед...
Отредактировано 20.10.2016 22:40 ononim . Предыдущая версия .
Re: {
От: anonymouse2 Либерал Глобалист Безбожник Трансгуманист
Дата: 18.09.16 17:15
Оценка: 1 (1) +10
Здравствуйте, Varavva, Вы писали:

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


Стандартным ANSI стилем и только так.
for(unsigned i=0; i!=size; ++i)
{
    if (data[i]>tres)
    {
        doSomething(i, data[i]);
    }
    else
    {
        doAnother(i, data[i]);
    }
}


Хотя если в скобках одна строчка (как в if/else этом коде) то скобки вообще не ставлю.
Нет такого преступления, на которое не пошло бы суверенное родоплеменное быдло ради продления своего бессмысленного рода и распространения своего бессмысленного генома.
Re: {
От: qwertyuiop Российская Империя  
Дата: 18.09.16 16:43
Оценка: :))) :))) :))) :))
Здравствуйте, Varavva, Вы писали:

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке.


Тоже терпеть не могу такой стиль. Всегда пишу так:
for(int i=0; i<10; ++i)
    {
    func(i);
    printf("ququ");
    }

Сразу видно всё тело цикла, а скобки еще дополнительно оттеняют его по вертикали.
Я отвечаю за свои слова, а не за то как вы их интерпретируете!
Re: {
От: ksandro Мухосранск  
Дата: 19.09.16 11:55
Оценка: 3 (1) +9
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?

V>Мне ужасно неудобно и плохо читаемо, когда "{" на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


В студенчиские годы ставил { на той же строке, и был уверен что только так удобно и правильно. Пришел на первую работу,
а там у них на следующей строке ставят и вообще есть внутренний стандарт, который обязывает ставить на следующей строке.
Не представляете как меня это раздражало, но где-то через месяц вдруг привык и стало казаться что ставить "{" надо именно на следующей строке и тлько так удобно и правильно.
Потом сменил я работу, а у них по внутреннему стандарту положено на той же строке ставить.. Как меня это раздражало! Но через две недели привык.
Перешел на другой проект, а там опять на следующе строке ее ставят, ужас!!!

После нескольких таких итераций стало пофигу, к любому стилю привыкаешь где-то за неделю.
Это же относится к вопросу, какого размера делать отступ, пробелы или табуляция, CamelCase или snake_case, и тд.

Главное, придерживаться одного стиля во всем проекте, для этого в начале проекта желательно договориться всей командой о стиле, который будет меньше всего раздражать комманду.
Если надо править уже существующий старый код, то стоит оставить тот стиль в котором он написан.
Re: {
От: alpha21264 СССР  
Дата: 18.09.16 13:05
Оценка: +1 -2 :))) :))) :)
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?

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

for( int i=0 ; i<10 ; i++ )
{  printf("сам дурак!\n"); // <-- скобка и первый оператор на одной строке
}

Течёт вода Кубань-реки куда велят большевики.
Re: {
От: vsb Казахстан  
Дата: 18.09.16 13:00
Оценка: +5 -4
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


Всегда ставлю на этой же строке. Сокращает число строк, больше помещается на экран. Ничего смешного не вижу и каких-то преимуществ ставить { на отдельной строке тоже не вижу.
Re[2]: {
От: Evgeny.Panasyuk Россия  
Дата: 18.09.16 13:10
Оценка: +9
Здравствуйте, alpha21264, Вы писали:

A>Я ставлю на следующей строке — чтобы открывающая и закрывающая скобка стояли друг над другом.

A>
A>for( int i=0 ; i<10 ; i++ )
A>{  printf("сам дурак!\n"); // <-- скобка и первый оператор на одной строке
A>}
A>


В этом варианте неудобно менять строки местами, копировать и т.п. — так как мешается первая скобка.
Re: {
От: утпутуук  
Дата: 18.09.16 13:08
Оценка: +1 -1 :))) :)))
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?

Отдельно
for(unsigned i=0; i!=size; ++i)
   {
    if (data[i]>tres)
       {
        doSomething(i, data[i]);
       }
    else
       {
        doAnother(i, data[i]);
       }
   }
Re[2]: {
От: ylem  
Дата: 18.09.16 16:20
Оценка: +4 :))) :)
У>
У>for(unsigned i=0; i!=size; ++i)
У>   {
У>    if (data[i]>tres)
У>       {
У>


Нет, он над нами издевается!
Re[3]: {
От: pagid Россия  
Дата: 18.09.16 18:29
Оценка: +8
Здравствуйте, T4r4sB, Вы писали:

TB>А почему "} else" не одной строке не пишешь? Это же никак не портит.

Полностью испортит. "else" должно быть точно под соответствующим "if"
Re[4]: {
От: chaotic-kotik  
Дата: 18.09.16 20:14
Оценка: +8
Здравствуйте, alpha21264, Вы писали:

A>Я знаю. Но программы гораздо чаще читаются, чем пишутся.


Так оно и выглядит говняно. Да еще и inconvenient as fuck.
Re[2]: {
От: CreatorCray  
Дата: 18.09.16 20:28
Оценка: +8
Здравствуйте, chaotic-kotik, Вы писали:

CK>
CK>if (err != 0)
CK>{
CK>    throw std::runtime_error("bloody hell!");
CK>}
CK>


Этот лучше.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[4]: {
От: CreatorCray  
Дата: 19.09.16 04:18
Оценка: +7 -1
Здравствуйте, chaotic-kotik, Вы писали:

CK>лишняя строка делает его лучше?

Да, читабельнее.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re: {
От: SaprXM СССР  
Дата: 18.09.16 14:20
Оценка: -6 :)
V>Кто как ставит { для цикла for?
V>В смысле в этой же строке или отдельно на следующей?

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


пишу часто на той же строке, если и закрывающая скобка тоже на этой же строке (то есть внутри 1-2, максимум 3 стэйтмента)

ради экономии строк и объектов внимания

for( int i=0; i<50; i++ ) { if( i%2 == 0 ) Console.WriteLine("Гляди-ка, чётное: "+i); }

// или так чаще:
for( int i=0; i<50; i++ ) { Console.WriteLine( (i%2==0 ? "Чётное" : "Нечётное") + ": " + i); }
Властитель слабый и лукавый,
Плешивый щеголь, враг труда,
Нечаянно пригретый славой,
Над нами царствовал тогда.... (А.С. Пушкин ? )
Отредактировано 18.09.2016 15:10 Министр Промышленности из Minecraft'а . Предыдущая версия . Еще …
Отредактировано 18.09.2016 14:24 Министр Промышленности из Minecraft'а . Предыдущая версия .
Re: {
От: chaotic-kotik  
Дата: 18.09.16 20:23
Оценка: +4 -3
Здравствуйте, Varavva, Вы писали:

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


Во многих стилях кодирования запрещено использовать for и if без { }. Цикл for или if с телом из одной строчки и с { на новой строке выглядит блевотно:

if (err != 0) {
    throw std::runtime_error("bloody hell!");
}


vs

if (err != 0)
{
    throw std::runtime_error("bloody hell!");
}
Re[2]: {
От: chaotic-kotik  
Дата: 18.09.16 20:16
Оценка: +3 :)))
Здравствуйте, утпутуук, Вы писали:

У>Отдельно

У>
У>for(unsigned i=0; i!=size; ++i)
У>   {
У>    if (data[i]>tres)
У>       {
У>        doSomething(i, data[i]);
У>       }
У>    else
У>       {
У>        doAnother(i, data[i]);
У>       }
У>   }
У>



спасибо, поблевал
Re[2]: {
От: sin_cos Земля  
Дата: 19.09.16 01:39
Оценка: :))) :)))
Здравствуйте, alpha21264, Вы писали:

A>Здравствуйте, Varavva, Вы писали:


V>>Кто как ставит { для цикла for?

V>>В смысле в этой же строке или отдельно на следующей?

A>Я ставлю на следующей строке — чтобы открывающая и закрывающая скобка стояли друг над другом.


A>
A>for( int i=0 ; i<10 ; i++ )
A>{  printf("сам дурак!\n"); // <-- скобка и первый оператор на одной строке
A>}
A>



а я так:

  for( int i=0 ; i<10 ; i++ )
    {  
  printf("сам дурак!\n"); // <-- скобка и первый оператор на разных строчках, оператор без оступа
    }
Re: {
От: Evgeny.Panasyuk Россия  
Дата: 18.09.16 13:00
Оценка: +5
Здравствуйте, Varavva, Вы писали:

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке.


Это называется egyptian brackets


V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке.


Я предпочитаю на отдельных:
for(auto x : xs)
{
   // ...
}

Но в некоторых случаях предпочитаю вот так:
for_each(xs, (auto x) {
    // ...
});
Иначе было бы так:
for_each(xs, (auto x)
{
    // ...
});
что по сути всё равно является отступлением от принципа, и если следовать ему полностью то было бы так:
for_each
(
    xs, (auto x)
    {
        // ...
    }
);
что уж слишком многословно по сравнению с первым вариантом.

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке.


Это лишь дело привычки.
Re[7]: {
От: chaotic-kotik  
Дата: 19.09.16 09:22
Оценка: 2 (1) +3
Здравствуйте, T4r4sB, Вы писали:


TB>Согласен, пустые строки должны быть средством выразительности.

TB>Но я вот задумался, а что если реально сделать так?
TB>
TB>status = api_call_foo(...)
TB>if (!status) 
TB>{   panic("foo failed")
TB>}
TB>do_smthng_with_foo()
TB>                                //< пустая строка отделяет два блока кода
TB>status = api_call_bar(...)
TB>if (!status) 
TB>{   panic("bar failed")
TB>}


Во первых это не красиво. Блоки с одной сточкой внутри будут отличаться от блоков большего размера. В однострочных {} будут сливаться, в больших блоках будет разрыв, КМК, это создает визуальный мусор

if (!status)
{    panic("fail");
}


vs

if (!status)
{    log(status, "error message");
     panic("fail");
}


К тому же, легко допустить следующую ошибку, допустим изначально было:

if (!status)
{    panic("fail");
     log(status, "error message");
}


мы поменяли строчки местами, но забыли про {

if (!status)
     log(status, "error message");
{    panic("fail");
}


код скомпилировался, но теперь panic вызвыается всегда
Re[3]: {
От: pagid Россия  
Дата: 18.09.16 16:27
Оценка: +2 :))
Здравствуйте, ylem, Вы писали:

Y>Нет, он над нами издевается!

но не настолько насколько те, у кого { в одной строчке с for
Re[5]: {
От: chaotic-kotik  
Дата: 19.09.16 07:34
Оценка: +4
Здравствуйте, CreatorCray, Вы писали:

CK>>лишняя строка делает его лучше?

CC>Да, читабельнее.

Почему?

Мне это не нравится, т.к. я привык отделять блоки кода друг от друга пустыми строками

status = api_call_foo(...)
if (!status) {
    panic("foo failed")
}
do_smthng_with_foo()
                                //< пустая строка отделяет два блока кода
status = api_call_bar(...)
if (!status) {
    panic("bar failed")
}


сравни с

status = api_call_foo(...)
if (!status) 
{
    panic("foo failed")
}
do_smthng_with_foo()
                                //< теряется на фоне кучи строк содержащих только { или }
status = api_call_bar(...)
if (!status) 
{
    panic("bar failed")
}
Re[5]: {
От: pagid Россия  
Дата: 18.09.16 18:58
Оценка: +3
Здравствуйте, T4r4sB, Вы писали:

TB>Почему? Оно и так прекрасно видно издалека.

Кто-то считает, что и с "{" в конце строки начинающейся "for" все прекрасно видно издалека

TB>"} else" должно быть точно под соответствующим "if"

Нет, "}" должна быть под "{", а "else" под "if"

При сохранении стиля предлагаемого предыдущим оратором, с которым я полностью согласен, разумеется не имея возможности и желания навязывать именно этот стиль.
Re[3]: {
От: Privalov  
Дата: 18.09.16 19:04
Оценка: -3
Здравствуйте, b0r3d0m, Вы писали:

B>Как там, в 1980?


В 1980 в Москве прошли Олимпийские игры. А программисты не спорили,что лучше: begin/end или {} и на какой строке что писать. Они просто работали. И, быть может, именно поэтому софт, написанный в те годы, работает десятилетиями?
Re: {
От: neFormal Россия  
Дата: 20.09.16 10:30
Оценка: +1 -1 :)
Здравствуйте, Varavva, Вы писали:

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


скобцам не понять.
меня напрягает скроллить код изза перенесённых скобок. уж лучше всё видеть на одном экране, а не ползать.
также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору.
...coding for chaos...
Re[2]: {
От: Evgeny.Panasyuk Россия  
Дата: 18.09.16 13:42
Оценка: 1 (1) +1
Здравствуйте, b0r3d0m, Вы писали:

B>Меня больше бесит отсутствие в большинстве Lisp'ов мега-закрывающей скобки. А то в некоторых (например, в Clojure) ещё и на одной строчке принято закрывать все накопившиеся скобки. Потом сиди и разбирай, куда тебе свою впихнуть надо, или откуда убрать ненужную:


Эту проблему помогает решить режим редактирования в котором манипулирование совершается не на уровне отдельных символов скобок и т.п., а на уровне узлов синтаксического дерева:
https://www.youtube.com/watch?v=D6h5dFyyUX0
Re[2]: {
От: pagid Россия  
Дата: 18.09.16 16:57
Оценка: +2
Здравствуйте, qwertyuiop, Вы писали:

Q>Тоже терпеть не могу такой стиль. Всегда пишу так:

+1

Q>
Q>for(int i=0; i<10; ++i)
Q>    {
Q>    func(i);
Q>    printf("ququ");
Q>    }
Q>

Q>Сразу видно всё тело цикла, а скобки еще дополнительно оттеняют его по вертикали.
Тоже оригинал
Re[2]: {
От: Varavva  
Дата: 18.09.16 17:21
Оценка: +2
Здравствуйте, anonymouse2, Вы писали:

A>Хотя если в скобках одна строчка (как в if/else этом коде) то скобки вообще не ставлю.


Вот именно так и я пишу, хотя в одну строчку с if никогда не делаю. И почти всегда ставлю скобки в if. Во-первых, разношу по строчкам, чтоб было где ставить точку останова. А ставлю скобки, чтоб потом со вставкой например логирования не делать этого.
Re[4]: {
От: Pzz Россия https://github.com/alexpevzner
Дата: 19.09.16 01:00
Оценка: +2
Здравствуйте, alpha21264, Вы писали:

A>Я знаю. Но программы гораздо чаще читаются, чем пишутся.


Если написать printf на отдельной строчке, программу не станет сложнее читать. Но зато ее станет проще писать.
Re[6]: {
От: rumia Россия  
Дата: 20.09.16 12:07
Оценка: +1 -1
Здравствуйте, chaotic-kotik, Вы писали:

CK>
CK>status = api_call_foo(...)
CK>if (!status) 
CK>{
CK>    panic("foo failed")
CK>}
CK>do_smthng_with_foo()
CK>


А вот в чём логика ставить пробел между if и '(', но не ставить между функцией и '('?
Вот я понимаю тех кто ставит и там и там, или не ставит нигде. :/
Re[2]: {
От: RiNSpy  
Дата: 05.10.16 10:22
Оценка: +2
Здравствуйте, alpha21264, Вы писали:

A>
A>for( int i=0 ; i<10 ; i++ )
A>{  printf("сам дурак!\n"); // <-- скобка и первый оператор на одной строке
A>}
A>


А почему пробелы такие? Лучше же вот так:

for (int i = 0; i < 10; i++)
Re[2]: {
От: Evgeny.Panasyuk Россия  
Дата: 05.10.16 21:06
Оценка: 3 (1)
Здравствуйте, neFormal, Вы писали:

V>>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.

F>скобцам не понять.
F>меня напрягает скроллить код изза перенесённых скобок. уж лучше всё видеть на одном экране, а не ползать.
F>также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору.

Задачу устранения визуального мусора можно решить на стороне редактора. Например не показывать фигурные скобки, а также ;.
В Emacs это решается через оверлеи (сам код вообще не меняется, меняется только отображение):
(defun my/hide-regexp (r x)
  (save-excursion
    (goto-char (point-min))
    (while (re-search-forward r nil t)
      (let ((o (make-overlay (match-beginning 1) (match-end 1))))
        (overlay-put o 'invisible t)
        (when x
          (overlay-put o 'display x))))))

(defun my/hide-stuff ()
  (interactive)
  (my/hide-regexp "\\(;\\)\n" nil)
  (my/hide-regexp "\\(\n\s*{\n\\)" ":\n")
  (my/hide-regexp "\\(^\s*}\s*;?\s*\\)\n" nil))

(bind-key "<f5>" 'my/hide-stuff)

Исходный вид:


Нажимаем F5:


https://www.youtube.com/watch?v=EHX7NZS8zAI

Этот код можно редактировать, но для полноценной поддержки редактирования нужно добавить отслеживание того, чтобы пользователь не мог случайно удалить скобки (они ведь есть на самом деле, как тот суслик), и чтобы гарантировалось их автоматическое расставленние. Под капотом можно использовать стиль который принят в проекте.
Отредактировано 05.10.2016 21:08 Evgeny.Panasyuk . Предыдущая версия .
Re: {
От: T4r4sB Россия  
Дата: 18.09.16 15:25
Оценка: :)
Здравствуйте, Varavva, Вы писали:

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


А вообще от языка зависит. Если операторные скобки — это еле видимые фигурные скобочки, то приходится делать лишний перенос и ставить одну на другой. Потому что иначе ну в натуре не видно, где блок начинает и кончается. В языках, где блок завершается жирным словом end (Паскалоиды, Луя), нет необходимости в переносе. Сразу издалека видна пара if-end, или for-end.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[3]: {
От: alpha21264 СССР  
Дата: 18.09.16 16:22
Оценка: :)
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Здравствуйте, alpha21264, Вы писали:


A>>Я ставлю на следующей строке — чтобы открывающая и закрывающая скобка стояли друг над другом.

A>>
A>>for( int i=0 ; i<10 ; i++ )
A>>{  printf("сам дурак!\n"); // <-- скобка и первый оператор на одной строке
A>>}
A>>


EP>В этом варианте неудобно менять строки местами, копировать и т.п. — так как мешается первая скобка.


Я знаю. Но программы гораздо чаще читаются, чем пишутся.

Течёт вода Кубань-реки куда велят большевики.
Re[3]: {
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 18.09.16 16:28
Оценка: :)
Здравствуйте, T4r4sB, Вы писали:

У>>Отдельно

У>>
У>>for(unsigned i=0; i!=size; ++i)
У>>   {
У>>    if (data[i]>tres)
У>>       {
У>>        doSomething(i, data[i]);
У>>       }
У>>    else
У>>       {
У>>        doAnother(i, data[i]);
У>>       }
У>>   }
У>>


TB>Извини, но у тебя блевотный стиль. Я переживу и скобки отдельно, и скобки на старой строке, но не это.


У меня дети сами, без посторонних подсказок, вышли на этот вариант. Значит, в нём что-то есть хорошее.
(Только отступы чуть другие — 2 перед {} и 2 после них)
The God is real, unless declared integer.
Re[5]: {
От: alpha21264 СССР  
Дата: 18.09.16 21:35
Оценка: -1
Здравствуйте, chaotic-kotik, Вы писали:

CK>Здравствуйте, alpha21264, Вы писали:


A>>Я знаю. Но программы гораздо чаще читаются, чем пишутся.


CK>Так оно и выглядит говняно. Да еще и inconvenient as fuck.


Вот уже детский сад пошёл.
Как оно выглядит?
Обосновать можешь?

Течёт вода Кубань-реки куда велят большевики.
Re[3]: {
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.09.16 04:09
Оценка: +1
Здравствуйте, sin_cos, Вы писали:

_>а я так:


_>
_>  for( int i=0 ; i<10 ; i++ )
_>    {  
_>  printf("сам дурак!\n"); // <-- скобка и первый оператор на разных строчках, оператор без оступа
_>    }

_>


Синусоида или косинусоида?
Маньяк Робокряк колесит по городу
Re[4]: {
От: pagid Россия  
Дата: 19.09.16 06:24
Оценка: +1
Здравствуйте, chaotic-kotik, Вы писали:

CK>лишняя строка делает его лучше?

Она не лишняя.

Но если очень хочется сэкономить строчку, то уж лучше

if (err != 0)
{  throw std::runtime_error("bloody hell!");
}

или так

if (err != 0) 
    throw std::runtime_error("bloody hell!");


да, при редактировании, если дело дойдет до него, потребует чуть больше времени и внимательности, но читается всё равно лучше твоего варианта
Re[3]: {
От: fin_81  
Дата: 19.09.16 15:55
Оценка: +1
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Пфф. Кого это остановит?


KV>
KV>for x in xrange(3): #{
...
KV>


СталинаОкаамы на вас нет. Нет человекафигурных скобок, нет проблемы.
Re[4]: {
От: qwertyuiop Российская Империя  
Дата: 19.09.16 19:03
Оценка: +1
Здравствуйте, утпутуук, Вы писали:

Q>>А зачем дополнительный пробел после скобки? Он же не ломает табуляцию.


У>В принципе, можно и 2+2, как ниже
Автор: netch80
Дата: 18.09.16
сказали.


Я вообще не понимаю, почему скобки должны быть не на уровне табуляций. Я могу понять такой способ
Автор: anonymouse2
Дата: 18.09.16
(хотя скобки при этом оказываются "висящими", или лучше такой
Автор: qwertyuiop
Дата: 18.09.16
. Но ставить скобки не на уровне табуляций — это просто извращение какое-то.
Я отвечаю за свои слова, а не за то как вы их интерпретируете!
Re[4]: {
От: qwertyuiop Российская Империя  
Дата: 19.09.16 19:11
Оценка: +1
Здравствуйте, chaotic-kotik, Вы писали:

CK>>>
CK>>>if (err != 0)
CK>>>{
CK>>>    throw std::runtime_error("bloody hell!");
CK>>>}
CK>>>


CK>лишняя строка делает его лучше?


Лучше его делает не строка, а четкое обозначение тела программы, расположенного между скобками. Благодаря тому, что закрывающая скобка расположена точно под открывающей.
Я отвечаю за свои слова, а не за то как вы их интерпретируете!
Re[7]: {
От: cures Россия cures.narod.ru
Дата: 21.09.16 18:27
Оценка: +1
Здравствуйте, rumia, Вы писали:

R>А вот в чём логика ставить пробел между if и '(', но не ставить между функцией и '('?


Чтобы сразу было видно, где оператор языка, а где вызов функции. Я ещё после assert пробел ставлю, так как он, во-первых, не функция, а макрос, а во-вторых, фактически заменяет отсутствующую нужную фичу языка — проверку выполенения условия в точке.
Re: {
От: zverjuga Беларусь  
Дата: 04.10.16 15:06
Оценка: +1
может звучать странно, но в разных языках — по разному. например, в шарпе скобку ставлю в следующей строке, а вот в js и swift — на той же. как то естественно получается так, особо даже и не парюсь над этим. вероятно, в шарпе так получилось в силу многолетней привычки, да и решарпер по моему больше любит, когда скобку на следующую строку переводят. вот и меня он к этому приучил. а в свифте почти все примеры кода, что я видел, используют второй вариант, то есть открывающая строчка на одном уровне с циклом или ифом. возможно, что так получилось еще и из-за того, что swift придумал замечательную вещь, от которой довольно сложно избавиться, когда пишешь на том же шарпе. в swift в циклах или ифах не обязательно использовать круглые скобки с условиями, да и точку с запятой тоже не обязательно ставить в конце строчки с кодом. что хоть не намного, но упрощает процесс разработки и код хочется писать за меньшее время. а потому и скобку ставишь на том же уровне, что и условие.
но религиозный вопрос, как лучше — давно отпал. по большому счету по фигу.
проклятый антисутенерский закон
Re[4]: {
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 05.10.16 06:14
Оценка: +1
Здравствуйте, neFormal, Вы писали:

N>>Скроллить нужно только в кривых редакторах, которые вместо заворота строки показывают её обрезанной.

N>>Может, они хороши для показа табличек в тексте, но не для кода.

F>враппинг тут ни при чём. код именно вертикально вытягивается, что не несёт никакого смысла.


Мало какому коду это реально проблемно (а если так — часто у него есть собственно проблемы перегруженности). Я часто вставляю пустые строки для логического разделения частей кода. Зато то, что '{' сама бросается в глаза, и на том же уровне, что '}', резко облегчает парсинг кода по блокам глазами.

F>>>также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору.

N>>Это к чему?
F>к тому, что скобки не нужны,

Я не знаю, как вообще комментировать эту чушь. Мы же вроде не о Python или Haskell говорили?

F> поэтому прятать их в египетском стиле — это легко, приятно,


Они неизбежны, и прятать их — маленькое, но зло.

F> исправляет прикус и не сушит попку твоего малыша.


А зубы становятся белыми и пушистыми. Спасибо, проходили.
The God is real, unless declared integer.
Re: {
От: b0r3d0m  
Дата: 18.09.16 13:25
Оценка:
Зависит от языка. В C++ ставлю на отдельной строчке, в JS -- на той же.

Меня больше бесит отсутствие в большинстве Lisp'ов мега-закрывающей скобки. А то в некоторых (например, в Clojure) ещё и на одной строчке принято закрывать все накопившиеся скобки. Потом сиди и разбирай, куда тебе свою впихнуть надо, или откуда убрать ненужную:

))))}))]))
Re: {
От: Privalov  
Дата: 18.09.16 14:08
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


Переходи на Фортран, и этот вопрос перестанет тебя волновать сразу и на всю жизнь.
Re[2]: {
От: b0r3d0m  
Дата: 18.09.16 14:24
Оценка:
P>Переходи на Фортран, и этот вопрос перестанет тебя волновать сразу и на всю жизнь.
Как там, в 1980?
Re[2]: {
От: borya_ilin  
Дата: 18.09.16 14:39
Оценка:
https://en.wikipedia.org/wiki/Indent_style#Variant:_1TBS_.28OTBS.29
Re[3]: {
От: утпутуук  
Дата: 18.09.16 15:31
Оценка:
Здравствуйте, T4r4sB, Вы писали:


TB>Извини, но у тебя блевотный стиль. Я переживу и скобки отдельно, и скобки на старой строке, но не это.


Ну, я ж тебя не заставляю
Re: {
От: fin_81  
Дата: 18.09.16 16:12
Оценка:
Переходи на Переходи на темную сторону силы питон.
Re[2]: {
От: qwertyuiop Российская Империя  
Дата: 18.09.16 16:47
Оценка:
Здравствуйте, утпутуук, Вы писали:

У>Отдельно

У>
У>for(unsigned i=0; i!=size; ++i)
У>   {
У>    if (data[i]>tres)
У>       {
У>        doSomething(i, data[i]);
У>       }
У>    else
У>       {
У>        doAnother(i, data[i]);
У>       }
У>   }
У>


А зачем дополнительный пробел после скобки? Он же не ломает табуляцию.
Я отвечаю за свои слова, а не за то как вы их интерпретируете!
Re[2]: {
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 18.09.16 17:53
Оценка:
Здравствуйте, anonymouse2, Вы писали:

A>Хотя если в скобках одна строчка (как в if/else этом коде) то скобки вообще не ставлю.


Здравствуй goto fail;
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: {
От: T4r4sB Россия  
Дата: 18.09.16 18:10
Оценка:
Здравствуйте, anonymouse2, Вы писали:

A>Стандартным ANSI стилем и только так.


А почему "} else" не одной строке не пишешь? Это же никак не портит.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[4]: {
От: T4r4sB Россия  
Дата: 18.09.16 18:45
Оценка:
Здравствуйте, pagid, Вы писали:

P>Здравствуйте, T4r4sB, Вы писали:


TB>>А почему "} else" не одной строке не пишешь? Это же никак не портит.

P>Полностью испортит.

Почему? Оно и так прекрасно видно издалека.

> "else" должно быть точно под соответствующим "if"


"} else" должно быть точно под соответствующим "if"
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[6]: {
От: T4r4sB Россия  
Дата: 18.09.16 19:03
Оценка:
Здравствуйте, pagid, Вы писали:

P>Здравствуйте, T4r4sB, Вы писали:


TB>>Почему? Оно и так прекрасно видно издалека.

P>Кто-то считает, что и с "{" в конце строки начинающейся "for" все прекрасно видно издалека

За ней над взглядом бежать. А елси возле скобки — вот он, рядом.

TB>>"} else" должно быть точно под соответствующим "if"

P>Нет, "}" должна быть под "{", а "else" под "if"

С первым согласен, со вторым нет, не вижу ну ни малейшего смысла. Ну разве что если оплата зависит от числа строк.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re: {
От: alpha21264 СССР  
Дата: 18.09.16 19:54
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?

Да, щас будет тема на тысячу сообщений. Это тебе не Линукс с Виндовсом!

Течёт вода Кубань-реки куда велят большевики.
Re[4]: {
От: DreamMaker  
Дата: 18.09.16 20:01
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Они просто работали. И, быть может, именно поэтому софт, написанный в те годы, работает десятилетиями?


гыгы.
а уж как майя код писали!
In P=NP we trust.
Re[3]: {
От: chaotic-kotik  
Дата: 18.09.16 21:45
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, chaotic-kotik, Вы писали:


CK>>
CK>>if (err != 0)
CK>>{
CK>>    throw std::runtime_error("bloody hell!");
CK>>}
CK>>


CC>Этот лучше.


лишняя строка делает его лучше?
Re: {
От: Икс Россия  
Дата: 18.09.16 22:01
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


А мне правой рукой попу подтирать неудобно, но я же не создаю темы с названием "П"
Re[2]: {
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 18.09.16 22:10
Оценка:
Здравствуйте, Икс, Вы писали:

V>>Кто как ставит { для цикла for?

V>>В смысле в этой же строке или отдельно на следующей?

V>>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


Икс>А мне правой рукой попу подтирать неудобно, но я же не создаю темы с названием "П"


С этим не в КСВ, а в просто СВ
Маньяк Робокряк колесит по городу
Re[3]: {
От: std.denis Россия  
Дата: 18.09.16 22:15
Оценка:
Y>Нет, он над нами издевается!

Не он, а GNU
Re[3]: {
От: Икс Россия  
Дата: 18.09.16 22:16
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, Икс, Вы писали:


V>>>Кто как ставит { для цикла for?

V>>>В смысле в этой же строке или отдельно на следующей?

V>>>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


Икс>>А мне правой рукой попу подтирать неудобно, но я же не создаю темы с названием "П"


M>С этим не в КСВ, а в просто СВ

Удобнее в МЖ
Re: } else
От: std.denis Россия  
Дата: 18.09.16 22:25
Оценка:
V>Кто как ставит { для цикла for?

Надо было сразу и про расположение `else` (`catch` и прочих) после `}` спросить..
Re[3]: {
От: rFLY  
Дата: 18.09.16 22:28
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>А почему "} else" не одной строке не пишешь? Это же никак не портит.

Мне лично в таком варианте напрягает как зачастую else становится ровно по середине под }
if (true) {
    ...
    for (int i=0;i<10;i++) {
        ...
    } // и ниже else
} else {
    ...
}
Re[5]: {
От: Privalov  
Дата: 19.09.16 05:11
Оценка:
Здравствуйте, DreamMaker, Вы писали:

DM>а уж как майя код писали!


А правда, как?
Re[3]: {
От: утпутуук  
Дата: 19.09.16 05:35
Оценка:
Здравствуйте, qwertyuiop, Вы писали:


Q>А зачем дополнительный пробел после скобки? Он же не ломает табуляцию.


В принципе, можно и 2+2, как ниже
Автор: netch80
Дата: 18.09.16
сказали. Но мне так несколько больше нравится
Re[5]: {
От: T4r4sB Россия  
Дата: 19.09.16 07:02
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, alpha21264, Вы писали:


A>>Я знаю. Но программы гораздо чаще читаются, чем пишутся.


Pzz>Если написать printf на отдельной строчке, программу не станет сложнее читать.


Не факт, кстати. Обычно заголовок ифа вместе с его содержимым — это единая логическая единица. И когда она монолитна без пропусков, то глазом проще увидеть, что это единая логическая единица.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[5]: {
От: chaotic-kotik  
Дата: 19.09.16 07:29
Оценка:
Здравствуйте, pagid, Вы писали:

P>Но если очень хочется сэкономить строчку, то уж лучше


P>
P>if (err != 0)
P>{  throw std::runtime_error("bloody hell!");
P>} 
P>


clang-format так не отформатирует

P>
P>if (err != 0) 
P>    throw std::runtime_error("bloody hell!");
P>


напрямую запрещено стилем кодирования на работе (считаю что хорошая идея)
Re[6]: {
От: pagid Россия  
Дата: 19.09.16 07:45
Оценка:
Здравствуйте, chaotic-kotik, Вы писали:

CK>clang-format так не отформатирует

CK>напрямую запрещено стилем кодирования на работе (считаю что хорошая идея)

Это непринципиальные частности, читаемость твоего варианта они не улучшают и вариант
if (err != 0)
{
  throw std::runtime_error("bloody hell!");
}

не запрещают
Re[6]: {
От: T4r4sB Россия  
Дата: 19.09.16 08:24
Оценка:
Здравствуйте, chaotic-kotik, Вы писали:

CK>Почему?


CK>Мне это не нравится, т.к. я привык отделять блоки кода друг от друга пустыми строками


Согласен, пустые строки должны быть средством выразительности.
Но я вот задумался, а что если реально сделать так?
status = api_call_foo(...)
if (!status) 
{   panic("foo failed")
}
do_smthng_with_foo()
                                //< пустая строка отделяет два блока кода
status = api_call_bar(...)
if (!status) 
{   panic("bar failed")
}
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[5]: {
От: alpha21264 СССР  
Дата: 19.09.16 09:22
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, alpha21264, Вы писали:


A>>Я знаю. Но программы гораздо чаще читаются, чем пишутся.


Pzz>Если написать printf на отдельной строчке, программу не станет сложнее читать. Но зато ее станет проще писать.


Станет сложнее читать. Лишняя строчка потратится. А это значит, что в экран влезет меньше текста.

Течёт вода Кубань-реки куда велят большевики.
Re[6]: {
От: Evgeny.Panasyuk Россия  
Дата: 19.09.16 10:53
Оценка:
Здравствуйте, chaotic-kotik, Вы писали:

P>>
P>>if (err != 0) 
P>>    throw std::runtime_error("bloody hell!");
P>>

CK>напрямую запрещено стилем кодирования на работе (считаю что хорошая идея)

Это уже похоже на yoda conditionals — да, немного повышает безопасность (будущих изменений), но при этом несоизмеримо бьёт по другим параметрам (лаконичность).
Yoda conditionals используете?
Re[6]: {
От: Evgeny.Panasyuk Россия  
Дата: 19.09.16 10:57
Оценка:
Здравствуйте, chaotic-kotik, Вы писали:

CK>
CK>                                //< теряется на фоне кучи строк содержащих только { или }
CK>


Не теряется, тем более если включено отображение непечатаемых символов.
И при твоём подходе несколько строчек с } не отделённые пустыми строчками всё равном могут быть (несколько уровней в глубину).
Re[4]: {
От: sin_cos Земля  
Дата: 19.09.16 12:38
Оценка:
Здравствуйте, Marty, Вы писали:

M>Синусоида или косинусоида?


не, он сам первый начал.
Re[6]: {
От: AlexRK  
Дата: 19.09.16 21:39
Оценка:
Здравствуйте, chaotic-kotik, Вы писали:

CK>Мне это не нравится, т.к. я привык отделять блоки кода друг от друга пустыми строками


CK>
CK>status = api_call_foo(...)
CK>if (!status) {
CK>    panic("foo failed")
CK>}                                                  //< а эта пустая строка что от чего отделяет?
CK>do_smthng_with_foo()
CK>                                //< пустая строка отделяет два блока кода
CK>status = api_call_bar(...)
CK>if (!status) {
CK>    panic("bar failed")
CK>}                                                  //< а эта?
CK>
Re[2]: {
От: ononim  
Дата: 20.09.16 08:35
Оценка:
У>Отдельно
У>[ccode]
У>for(unsigned i=0; i!=size; ++i)
У> {
У> if (data[i]>tres)
У> {
так вот кто писал GLIB..
Как много веселых ребят, и все делают велосипед...
Re: {
От: vdimas Россия  
Дата: 20.09.16 08:44
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?


Для простых многострочных конструкций оставляю на той же строке.
while(pred(x)) {
  line1();
  line2();
}


Для слишком многострочных — переношу:
while(pred(x)) 
{
  line1();
  line2();
  ...
  line25();
}



Если есть вложенные конструкции, тоже переношу на новую строку:
while(pred1(x)) 
{
  for(;pred2(y);) {
    line1();
    line2();
  }
}


У простых структур (без конструкторов) тоже оставляю скобку на той же строке.


V>В смысле в этой же строке или отдельно на следующей?


Смысл всегда в оптимальной читабельности.
Скобка, оставленная на той же строке, говорит мне, что речь пойдёт о простом сниппете.


V>Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


Это ты не пробовал читать исходники программ, распечатанные на "бесконечной" ленте матричного принтера.
Вот это было действительно удобно.
Тут никакая экономия строк не требовалась.

А 2-3 десятка строк на экране — это заведомо нечитабельно вовсе.
Т.е., эти все трюки можно списать на попытки разместить перед глазами больше осмысленных строк текста.
Re[2]: {
От: Varavva  
Дата: 20.09.16 10:34
Оценка:
Здравствуйте, neFormal, Вы писали:

F>скобцам не понять.

F>меня напрягает скроллить код изза перенесённых скобок. уж лучше всё видеть на одном экране, а не ползать.
F>также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору.

Фигово код написан, если для понимания листать надо. Понимание, что делает функция приходит пошагово и блочно. Вот этот цикл отделяет то от этого, вот это условие — когда то-то. Невозможно обхватить разумом и понять целую страницу напичканную вызовами других функций.
Re[3]: {
От: neFormal Россия  
Дата: 20.09.16 11:39
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Фигово код написан, если для понимания листать надо.


да, скобки не нужны. только место отъедают.

V>Понимание, что делает функция приходит пошагово и блочно. Вот этот цикл отделяет то от этого, вот это условие — когда то-то. Невозможно обхватить разумом и понять целую страницу напичканную вызовами других функций.


я код читаю наискосок. и всё понятно.
потому что хороший код можно так прочитать, а вот в плохой приходится вчитываться.
...coding for chaos...
Re[2]: {
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.09.16 13:22
Оценка:
Здравствуйте, neFormal, Вы писали:

V>>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


F>скобцам не понять.

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

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

F>также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору.


Это к чему?
The God is real, unless declared integer.
Re[3]: {
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 20.09.16 14:24
Оценка:
Здравствуйте, sin_cos, Вы писали:

_>а я так:


_>
_>  for( int i=0 ; i<10 ; i++ )
_>    {  
_>  printf("сам дурак!\n"); // <-- скобка и первый оператор на разных строчках, оператор без оступа
_>    }

_>


Любишь злоупотреблять?
[КУ] оккупировала армия.
Re[3]: {
От: neFormal Россия  
Дата: 20.09.16 14:36
Оценка:
Здравствуйте, netch80, Вы писали:

N>Скроллить нужно только в кривых редакторах, которые вместо заворота строки показывают её обрезанной.

N>Может, они хороши для показа табличек в тексте, но не для кода.

враппинг тут ни при чём. код именно вертикально вытягивается, что не несёт никакого смысла.

F>>также это минимизация визуального мусора, потому что скобки кодеру не нужны, они нужны компилятору.

N>Это к чему?

к тому, что скобки не нужны, поэтому прятать их в египетском стиле — это легко, приятно, исправляет прикус и не сушит попку твоего малыша.
...coding for chaos...
Re[2]: {
От: Лось Чтостряслось СССР  
Дата: 21.09.16 17:08
Оценка:
Здравствуйте, anonymouse2, Вы писали:

A>Стандартным ANSI стилем и только так.

A>
for(unsigned i=0; i!=size; ++i)
A>{
A>    if (data[i]>tres)
A>    {
A>        doSomething(i, data[i]);
A>    }
A>    else
A>    {
A>        doAnother(i, data[i]);
A>    }
A>}


A>Хотя если в скобках одна строчка (как в if/else этом коде) то скобки вообще не ставлю.


ну хоть в этом форуме могу тебе единичку поставить!
социализм или варварство
Re[4]: {
От: cures Россия cures.narod.ru
Дата: 21.09.16 18:32
Оценка:
Здравствуйте, rFLY, Вы писали:

FLY>Мне лично в таком варианте напрягает как зачастую else становится ровно по середине под }

} else {

Именно так всегда и пишу, угробить сразу аж три строки на переход к новой ветке — это перебор.
И ещё вот так, когда веток много:
} else if (...) {
Re[5]: {
От: ononim  
Дата: 21.09.16 19:23
Оценка:
Q>Я вообще не понимаю, почему скобки должны быть не на уровне табуляций. Я могу понять такой способ
Автор: anonymouse2
Дата: 18.09.16
(хотя скобки при этом оказываются "висящими", или лучше такой
Автор: qwertyuiop
Дата: 18.09.16
. Но ставить скобки не на уровне табуляций — это просто извращение какое-то.

Это антияльясинг.
Как много веселых ребят, и все делают велосипед...
Re: {
От: alzt  
Дата: 03.10.16 21:04
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?

V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.


Это вопрос стиля кода. Обычно в проекте надо либо ставить { на той же строке везде, либо на следующей также везде.
Сложностей нет, привыкаешь к любому стилю. Может пару недель придётся потратить на привыкание, если используешь только один стиль.
А текущем проекте { скобочку надо ставить на той же строке. Код, где скобка ставится на следующей строке, меня сейчас раздражает. Но раньше было наоборот.
Re[8]: {
От: alpha21264 СССР  
Дата: 04.10.16 09:54
Оценка:
Здравствуйте, cures, Вы писали:

C>Здравствуйте, rumia, Вы писали:


R>>А вот в чём логика ставить пробел между if и '(', но не ставить между функцией и '('?


C>Чтобы сразу было видно, где оператор языка, а где вызов функции.


Кха... Это редактор и так подсветкой показывает.
И даже если не показывает, операторов не так много — их и так знаешь.

Течёт вода Кубань-реки куда велят большевики.
Re[5]: {
От: neFormal Россия  
Дата: 05.10.16 09:26
Оценка:
Здравствуйте, netch80, Вы писали:

N>Мало какому коду это реально проблемно


ты думаешь об одной ф-ции, а я про несколько ф-ций на одном экране.

F>>к тому, что скобки не нужны,

N>Я не знаю, как вообще комментировать эту чушь.

вежливость зашкаливает.
...coding for chaos...
Re[6]: {
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 05.10.16 10:06
Оценка:
Здравствуйте, neFormal, Вы писали:

N>>Мало какому коду это реально проблемно

F>ты думаешь об одной ф-ции, а я про несколько ф-ций на одном экране.

Я думал, я тут один сижу в основном в 25x80. Но даже в этом случае количество ситуаций, когда надо сверять несколько соседних кусков — крайне мало, и в основном это случаи конфликтного мержинга патчей.

F>>>к тому, что скобки не нужны,

N>>Я не знаю, как вообще комментировать эту чушь.

F>вежливость зашкаливает.


Воистину так. А вот писать безусловную чушь — невежливо, ибо ведёт к бессмысленным оффтопикам.
The God is real, unless declared integer.
Re[4]: {
От: RiNSpy  
Дата: 05.10.16 10:27
Оценка:
Здравствуйте, std.denis, Вы писали:

Y>>Нет, он над нами издевается!


SD>Не он, а GNU Image: bad.gif


GNU имхо вообще создавался как тонкий троллинг.
Re[3]: {
От: Kswapd Россия  
Дата: 05.10.16 21:58
Оценка:
Здравствуйте, RiNSpy, Вы писали:

RNS>А почему пробелы такие? Лучше же вот так:

RNS>
RNS>for (int i = 0; i < 10; i++)
RNS>


А я пишу вызовы функций без пробелов: sqrt(x), но заголовки циклов и условий с пробелами: if ( a > 0 ) {...}, for ( int i = 0; i < count; ++i ) {...}. Так кажется читабельнее.
Re[3]: {
От: neFormal Россия  
Дата: 06.10.16 11:51
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>Задачу устранения визуального мусора можно решить на стороне редактора. Например не показывать фигурные скобки, а также ;.


прекрасно! спасибо
очень оригинальное извращение

EP>Этот код можно редактировать, но для полноценной поддержки редактирования нужно добавить отслеживание того, чтобы пользователь не мог случайно удалить скобки


да, вот это-то и пугает больше всего.
...coding for chaos...
Re[4]: {
От: Evgeny.Panasyuk Россия  
Дата: 20.10.16 23:28
Оценка:
Здравствуйте, neFormal, Вы писали:

EP>>Задачу устранения визуального мусора можно решить на стороне редактора. Например не показывать фигурные скобки, а также ;.

F>прекрасно! спасибо
F>очень оригинальное извращение

Я видел на эту тему разбавление CamelCase'а виртуальными подчёркиваниями (link).

EP>>Этот код можно редактировать, но для полноценной поддержки редактирования нужно добавить отслеживание того, чтобы пользователь не мог случайно удалить скобки

F>да, вот это-то и пугает больше всего.

Да, это самая сложная часть, но вполне реализуемая.
В конце концов можно при редактировании включать скобки (автоматом), а при просмотре выключать. Хотя конечно лучше не скакать между режимами.
Re[2]: {
От: Дрободан Фрилич СССР  
Дата: 23.10.16 07:44
Оценка:
ononim:

O>Image: CvH9gfFWcAA2knK.jpg

O>(с)

Это писал человек, которого укусил питон.
Re: уважаю принятый стандарт кодирования
От: Alexander G Украина  
Дата: 29.11.16 22:24
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?

Всегда уважаю принятый в команде стандарт кодирования во всех подобных вопросах.

Потому что надо же хоть в чём-то следовать этому самому стандарту кодирования.
Так лучше буду следовать ни на что не влияющим правилам, и поставлю скобку, как просят, чем буду, например, заниматься эквилибристикой при выходе из вложенного for, потому что, типа, "у нас множественный return запрещен, и goto тоже запрещен".
Русский военный корабль идёт ко дну!
Re: {
От: Nikita123 Россия  
Дата: 30.11.16 11:39
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?

V>В смысле в этой же строке или отдельно на следующей?
V>Мне ужасно неудобно и плохо читаемо, когда { на той же строчке. Какие плюсы такого написания? Текст программы сокращается? Ну смешно же это.
Самые крутые программеры вообще пишут без всяких {
Желаю успеха,
Никита.
Re: {
От: Мёртвый Даун Россия  
Дата: 02.12.16 08:21
Оценка:
Здравствуйте, Varavva, Вы писали:

V>Кто как ставит { для цикла for?


Всё зависит от принятого code style в проекте/команде. А они могут меняться от проекта к проекту.
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re: Я чоёта нипонял
От: Sheridan Россия  
Дата: 02.12.16 16:33
Оценка:
Стоит заговорить про плюсы, так плюсы говно, трогай за питон, шарб, жабу, память течет, указатели нипанятны, долго компилицца.
А как до дела доходит так оппа, все на плюсах пишуть.
Парадокс
Matrix has you...
Re[2]: уважаю принятый стандарт кодирования
От: Hobbes Россия  
Дата: 07.12.16 20:36
Оценка:
Здравствуйте, Alexander G, Вы писали:

AG>у нас множественный return запрещен


А это как можно обосновать? И как с этим жить? Записать значение в переменную, а потом переменную возвращать? Но так совсем плохо получается.
Re[2]: Я чоёта нипонял
От: Privalov  
Дата: 08.12.16 06:55
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Стоит заговорить про плюсы, так плюсы говно, трогай за питон, шарб, жабу, память течет, указатели нипанятны, долго компилицца.

S>А как до дела доходит так оппа, все на плюсах пишуть.
S>Парадокс

Не все. Я, например, не пишу на плюсах. Правда, я и не обзываю их по-всякому. Они под рукой на всякий случай. В нашем проекте пара сотен строк на них есть. Иногда, кроме как на них — никак.
Скобки есть, опять же, не только в плюсах.
Re[2]: {
От: Sinix  
Дата: 08.12.16 07:04
Оценка:
Здравствуйте, Nikita123, Вы писали:

N>Самые крутые программеры вообще пишут без всяких {


Вообще без всяких.
http://xkcd.com/378/
Отредактировано 08.12.2016 7:18 Sinix . Предыдущая версия .
Re[3]: уважаю принятый стандарт кодирования
От: Alexander G Украина  
Дата: 08.12.16 07:10
Оценка:
Здравствуйте, Hobbes, Вы писали:

H>А это как можно обосновать?


Якобы, чтобы добавить в начало захват ресурса, а в конец его освобождение, и не получить сюрпризов.
Вроде как из широко применяемых языков должно быть применимо только к С, т.к. в С++ есть RAII, в других языках — finally.
Но сторонники правила одного возврата предпочитают почему-то это правило, а не правильное управление ресурсами.

H>И как с этим жить? Записать значение в переменную, а потом переменную возвращать? Но так совсем плохо получается.


Ну да, а как ещё.
Русский военный корабль идёт ко дну!
Re[3]: {
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 08.12.16 07:14
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Вообще без всяких.

S>http://xckd.com/378/
^^
Товарищ, а зачем вы буквы переставили?
The God is real, unless declared integer.
Re[4]: {
От: Sinix  
Дата: 08.12.16 07:19
Оценка:
Здравствуйте, netch80, Вы писали:

N>Товарищ, а зачем вы буквы переставили?

Очепятка. что забавно, оно всё равно работает. Поправил)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.