ФлеймФорумОбщее

не могу переваривать { в новой строке (5 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#60
11:43, 30 янв 2020

Azure Drake
> if (!value) {
> doSomething();
> } else {
> doAnother();
> }

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

if !value then
     doSomething();
else
     doAnother();
end;

действительно и логично и эстетично и заметьте как лишние скобки повыпадали там где они опять таки нарушали эстетику всячески.
Либо делать всё-таки и открытие блока скобками тоже!

{ if (!value)
    doSomething();
} else {
    doAnother();
}

Во! Так еще можно как то мириться...

#61
11:49, 30 янв 2020

Мне тоже нравится end в конце, но в том, что закрывающая } не выглядит полноценным словом, тоже есть смысл: скобка визуально создаёт почти пустую строку, отделяющую блок от следующего.

Это смотрится нормально:

if (...) {
    ...
}
if (...) {
    ...
}

А тут хочется пустую строку между end и следующим if:

if ... then
   ...
end
if ... then
   ...
end
#62
11:51, 30 янв 2020

Azure Drake
> Не нужны, если не ставить открывающую скобку в отдельной строке.
Перед армией устраивался на работу в одну студию, у них там был Qt style - struct/class/функции начинают с новой строки, if/switch/for/while оставляют на той же.
Ну ничё, приспособился, нормально. Сейчас вот пишу рейтрейсер этим стилем - ничего не путается, шёрстка гладкая и шелковистая.
Смотрю на старый код с максимальным разносом и пробелами внутри скобочек - и, знаешь, тоже особых проблем как-то не замечаю. Что-то не устают у меня глаза от гуляния по экрану. И ифы из поля зрения почему-то не теряются.
Так что, я считаю, что без разницы оно всё, нет в этом вопросе каких-то объективных аргументов, есть только надуманные придирки и дикая вкусовщина.

#63
11:52, 30 янв 2020

Azure Drake
> Мне тоже нравится end в конце, но в том, что закрывающая } не выглядит
> полноценным словом, тоже есть смысл: скобка визуально создаёт почти пустую
> строку, отделяющую блок от следующего.
> Это смотрится нормально:

А вот так ?, -

 if (...) {
    if (...) {
    }
    ...
}}}}}}}}}}}}}
#64
12:11, 30 янв 2020

0iStalker
> А вот так
Это, кстати, ещё одно преимущество скобочек. Когда они утрамбованы, это тоже бывает удобно именно для чтения: сразу можно прикинуть число вложенностей, например.

#65
12:14, 30 янв 2020

0iStalker
> А вот так ?, -
Я так пробовал, очень неудобно добавлять строки в конец блока, надо скобочки считать.

#66
12:32, 30 янв 2020

1 frag / 2 deaths
Да, поэтому такой упаковкой занимаются только когда код уже давно написан и отлажен. Например, в библиотеках.

#67
12:35, 30 янв 2020

Azure Drake
> Например, в библиотеках.
Обфускация?

#68
12:40, 30 янв 2020

А есть какие-нибудь препроцессоры, позволяющие писать на C/C++ в питоновском стиле? Тогда вообще вопрос с оформлением скобок отпадет :)

#69
12:42, 30 янв 2020

1 frag / 2 deaths

Для тебя такой код является понятным,

if (...) {
  for (...) {
    for (...) {
      if (...) {
        while (...) {
          if (...) {
            for (...) {
              if (...) {
                ...
              }
            }
          }
        }
      }
    }
  }
}

а такой - обфусцированным?

if (...) {
  for (...) {
    for (...) {
      if (...) {
        while (...) {
          if (...) {
            for (...) {
              if (...) {
                ...
}}}}}}}}
#70
12:54, 30 янв 2020

Azure Drake
> А тут хочется пустую строку между end и следующим if:

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

#71
12:57, 30 янв 2020

Azure Drake
Да, конец блока неопределяем

#72
13:15, 30 янв 2020

1 frag / 2 deaths
Питон ты вообще не признаёшь, надо полагать?

#73
14:23, 30 янв 2020

Azure Drake
> Питон ты вообще не признаёшь, надо полагать?

Как в мире где до сих пор программисты пополам делятся на табуляторщиков и пробельщиков вообще можно было придумать язык с зависимостью синтаксиса от видимого размера отступа - мне лично вот вообще неведомо.
По моему весь язык изначально был именно попыткой какое то своё видение в этом вопросе проталкивать в чужие глотки железным сапогом. Это было главное ради чего он создавался.

#74
14:57, 30 янв 2020

Azure Drake
> Питон ты вообще не признаёшь, надо полагать?
В нём нет скобок, которые постоянно отвлекают на мысли "не обсчитались ли авторы".
Ну и как ИДЕ в Питоне работает на попытку расчленить блок, я не знаю, возможно там ИДЕ лучше заточено на это.

Страницы: 1 2 3 4 5 6 7 Следующая »
ФлеймФорумОбщее

Тема в архиве.