Re: Свобода форматировать код - зачем она?
От: alexeiz  
Дата: 23.11.09 23:02
Оценка: :))) :))) :))) :))
Chrome, Вам присуждается почётное звание Formatting Nazi:

Re: Свобода форматировать код - зачем она?
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 24.11.09 11:14
Оценка: 3 (2) +5 -1
Здравствуйте, Chrome, Вы писали:

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

C>То, что сейчас называется стандартами кодирования.

C>И вроде ни у кого не вызывает сомнения, что эти стандарты следует соблюдать.

C>Однако средства разработки по прежнему оставляют этот аспект на усмотрение программиста.

Следует соблюдать, но все-таки это не догма. Например, нечто такое:

  // Тут я пробелами показываю структуру, что в линейном коде отобразить сложно
  parent.appendChild(p);
    p.appendChild(div);
      div.appendChild(span);
    p.appendChild(otherDiv);
    p.appendChild(table);

  // Альтернатива, увидеть структуру сложно
  parent.appendChild(p);
  p.appendChild(div);
  div.appendChild(span);
  p.appendChild(otherDiv);
  p.appendChild(table);


  // А тут пробелы используются для логической группировки
  X := (A+1) * (A*X*X + B*X + C);
  X := ( A + 1 ) * ( A * X * X + B * X + C); // Для сравнения, так отформатировал бы VB


  for c1 :=    0 to 51 do
  for c2 := c1+1 to 51 do
  for c3 := c2+1 to 51 do
  for c4 := c3+1 to 51 do
  for c5 := c4+1 to 51 do
  begin
    // Обработка последовательности c1, c2, c3, c4, c5
    // Какой вариант мне приятнее для восприятия, чем с отступами
  end;


     // А вот альтернатива  
     for (c1=0; c1<52; ++c1)
          for (c2=c1+1; c2<52; c2++)
               for (c3=c2+1; c3<52; c3++)
                    for (c4=c3+1; c4<52; c4++)
                         for (c5=c4+1; c5<52; c5++)
                         {
                              // Совсем уехали вправо
                         }


Ну и психологическая проблема: если я не могу написать так, как считаю нужным в данном конкретном случае, то такую систему в топку.
Свобода форматировать код - зачем она?
От: Chrome  
Дата: 23.11.09 20:28
Оценка: 7 (2) +2 -2
В былые времена, когда деревья были большие а трава зеленая...
Программистов уговаривали, что форматировать код — это хорошо.
Умные люди тратили свое время, что бы донести мысль, которая в наши дни очевидна и вроде бы не подлежит сомнению.
Что надо делать отступы в соответствии с уровнем вложенности, ставить пробелы где положено, не размещать несколько мыслей в одной строке и т д.
То, что сейчас называется стандартами кодирования.

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

Как думаете, со временем свобода форматирования полностью отомрет?

Ну максимум, что мне кажется позволительным, это вставить несколько пустых строк, что бы выделять логические участки.
А все остальное должно быть жестко автоформатировано.
Кстати было это в Visual Basic 6.0 неплохо реализовано, уходишь с текущей строки — она форматируется и ошибки подсвечивает.

Так же интересно, обязательные скобочки, выделяющие блоки кода, все эти {}, begin end
— уже живые мертвецы? Сущесвуют просто по инерции?
Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.

Есть у скобочек причины для выживания в синтаксисе будущих языков?
Re[2]: Свобода форматировать код - зачем она?
От: 0xDEADBEEF Ниоткуда  
Дата: 25.11.09 14:23
Оценка: 24 (4) :)
Здравствуйте, alexeiz, Вы писали:

A>Chrome, Вам присуждается почётное звание Formatting Nazi:

Так лучше:
__________
16.There is no cause so right that one cannot find a fool following it.
Re[3]: Свобода форматировать код - зачем она?
От: Константин Б. Россия  
Дата: 24.11.09 06:47
Оценка: 1 (1) +2 -1 :)
Здравствуйте, no4, Вы писали:

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


Очень чревато ошибками. Например при Cut/Paste кода из одного места в другое легко ошибиться в отступах. Забыть внести строчку в цикл или наоборот лишнюю добавить. Скобочки в этом отношении надежнее.
Re: Свобода форматировать код - зачем она?
От: Pzz Россия https://github.com/alexpevzner
Дата: 24.11.09 01:46
Оценка: +1 -3
Здравствуйте, Chrome, Вы писали:

C>И вроде ни у кого не вызывает сомнения, что эти стандарты следует соблюдать.

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

А что делать, если вам достался в наследство товарный вагон кода, отформатированного не так, как принято в вашей организации (или в организации, разработавшей средства разработки)? Городить огород из разных стилей? Но это кошмар получится. Переформатировать старый код по-новому? Но при этом во-первых вы потеряете возможность сравнивать ваши изменения с оригиналом, а во-вторых, потеряете форматирование комментариев, которое тоже могло как-то использоваться в качестве выразительного средства.

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

C>Так же интересно, обязательные скобочки, выделяющие блоки кода, все эти {}, begin end

C> — уже живые мертвецы? Сущесвуют просто по инерции?
C>Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.

Так сделано в питоне. На мой взгляд — глупость.
Re[3]: Свобода форматировать код - зачем она?
От: Sinix  
Дата: 24.11.09 06:40
Оценка: +2 -2
Здравствуйте, no4.

no4>Всё-таки в скобочных языках программисты все равно делают отступы, чтобы сразу видеть вложенности в коде, а вот скобочки в отступных языках никто(1) для себя не пишет — хотя могли бы, например, комментариями.


1. Шансов ошибиться скобочками куда меньше, чем шансов огрести проблем с отступами — скобочек банально меньше.
2. Нет разброда в том что считать отступом и сколько раз.
3. Ни одна софтина не заменяет скобочки на что-то другое (см холивары про табуляцию).
4. Семантика программы не должна определяться невидимыми символами/форматированием.
5. Отступы у скобчатых получаются в нагрузку и не несут смысловой нагрузки (уже написано выше).

Разумеется, любую идею можно довести до абсурда — отступы в маткаде не то чтобы страшнее (ПРЕВЕД ((ЛИСП) !)). Хотя вайтспейс всё равно круче.

В общем для мейнстрима не пойдёт
Re[4]: Свобода форматировать код - зачем она?
От: Курилка Россия http://kirya.narod.ru/
Дата: 24.11.09 06:52
Оценка: -3 :)
Здравствуйте, Константин Б., Вы писали:

КБ>Здравствуйте, no4, Вы писали:


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


КБ>Очень чревато ошибками. Например при Cut/Paste кода из одного места в другое легко ошибиться в отступах. Забыть внести строчку в цикл или наоборот лишнюю добавить. Скобочки в этом отношении надежнее.


По-моему как раз использование Cut/Paste чревато ошибками
Re[5]: Свобода форматировать код - зачем она?
От: Константин Б. Россия  
Дата: 24.11.09 11:50
Оценка: +2 :))
Здравствуйте, Курилка, Вы писали:

К>Здравствуйте, Константин Б., Вы писали:


КБ>>Здравствуйте, no4, Вы писали:


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


КБ>>Очень чревато ошибками. Например при Cut/Paste кода из одного места в другое легко ошибиться в отступах. Забыть внести строчку в цикл или наоборот лишнюю добавить. Скобочки в этом отношении надежнее.


К>По-моему как раз использование Cut/Paste чревато ошибками


Т.е. если вам нужно перенести кусок кода его по новой набиваете? Или вы сразу все пишете правильно?
Re[2]: Свобода форматировать код - зачем она?
От: no4  
Дата: 24.11.09 04:08
Оценка: 1 (1) +1
Здравствуйте, Pzz, Вы писали:

Pzz>Но при этом во-первых вы потеряете возможность сравнивать ваши изменения с оригиналом,


Не потеряю. Достаточно перед сравнением переформатировать старую версию на лету.

Pzz>а во-вторых, потеряете форматирование комментариев, которое тоже могло как-то использоваться в качестве выразительного средства.


Сколько ты встречал такого кода?
Да, иногда бывает подобие ASCII Art в коде, но я такое при работе не встречал, только давно, когда читал исходники чего-то манипулирующего битами.

Pzz>Вот и получается, что невозможно выбрать какой-то единый стиль, а все остальные отменить. Ну и явно преобладающего стиля тоже как-то нет, все пишут по-разному.


В нормальных командах используют рекомендации от производителя средства разработки и прогоняют код через всякие стайлкопы.

C>>Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.


Pzz>Так сделано в питоне. На мой взгляд — глупость.


И еще — F#, Haskell, Boo

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

Всё-таки в скобочных языках программисты все равно делают отступы, чтобы сразу видеть вложенности в коде, а вот скобочки в отступных языках никто(1) для себя не пишет — хотя могли бы, например, комментариями.

(1) "Никто" употребляется в разговорном смысле "известное мне большинство"
Re[7]: Свобода форматировать код - зачем она?
От: Clevelus Россия http://clevelus.ru
Дата: 24.11.09 12:00
Оценка: +1 :)
Здравствуйте, Chrome, Вы писали:

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


C>>В Visual Studio Меню->Правка->Форматировать документ и нет проблем.


C>Вопрос был — зачем позволять программисту нарушать стандартное форматирование?


Представьте, когда серетарь набирает текст в текстовом редакторе — она сразу следует шаблону? Нет! Сначала идет набор текста, исправление ошибок и только потом форматирование.

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

Форматировать или нет ( и как ) определяется политикой в организации. Во многих перед сохранением документа в репозиторий нужно его отформатировать в соответствии с правилами (в студии просто нажать кнопку ).

Более того, форматирование кода, в общем случае, также включает в себя как называть переменные и функции ... и т.д.
Доброго времени суток! Мир Вам! С уважением Clevelus.
Если мой ответ понравился — оцените, ни на что не влияет, но будет приятно.
Re[2]: Свобода форматировать код - зачем она?
От: TimurSPB Интернет  
Дата: 29.11.09 21:04
Оценка: +1 :)
Здравствуйте, Hobot Bobot, Вы писали:

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


C>>Так же интересно, обязательные скобочки, выделяющие блоки кода, все эти {}, begin end

C>> — уже живые мертвецы? Сущесвуют просто по инерции?
C>>Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.

HB>Посмотри на Питон. Как по мне — терпимо, но со скобочками нагляднее


С Питоном я разок прокололся при написании скриптов под scons. Кто же знал, что отступы имеют такой сакральный смысл.
Но потом к Питону привык и считаю этот язык очень полезным в быту.
Make flame.politics Great Again!
Re[4]: Свобода форматировать код - зачем она?
От: geniepro http://geniepro.livejournal.com/
Дата: 24.11.09 09:13
Оценка: 1 (1)
Здравствуйте, Sinix, Вы писали:

S>1. Шансов ошибиться скобочками куда меньше, чем шансов огрести проблем с отступами — скобочек банально меньше.


In praise of mandatory indentation for novice programmers
http://okasaki.blogspot.com/2008/02/in-praise-of-mandatory-indentation-for.html
Re[2]: Свобода форматировать код - зачем она?
От: GarryIV  
Дата: 03.12.09 14:35
Оценка: 1 (1)
Здравствуйте, Alexander G, Вы писали:

AG>Достаточно часто получается более выразительно писать с нарушением стандартов, чем с их соблюдением.

AG>Хотя бы подряд идущие функции и метки таблицей:

AG>
AG>case SomeValue:       SomeFunction( 100000, 12, 45); break;
AG>case SomeOtherValue:  SomeFunction(      1, 24, 33); break;
AG>/* и куча такого */
AG>/* написание в одну строчку и таблицей повышает читабельность */
AG>


Оно конечно выглядит красиво но добавление
case SomeOtherLongerValue:  SomeFunction(      1, 24, 33); break;

вызовет необходимость переформатировать все кейсы, что в свою очередь повлечет за собой потенциальные конфликты при мерже.

да и отступление от норм в одном месте может служить поводом к их нарушению в других местах.

Так что нафиг такие красивости.
WBR, Igor Evgrafov
Re: Свобода форматировать код - зачем она?
От: RomikT Германия  
Дата: 23.11.09 21:55
Оценка: +1
Здравствуйте, Chrome, Вы писали:

C>...

C>Ну максимум, что мне кажется позволительным, это вставить несколько пустых строк, что бы выделять логические участки.
C>А все остальное должно быть жестко автоформатировано.
C>Кстати было это в Visual Basic 6.0 неплохо реализовано, уходишь с текущей строки — она форматируется и ошибки подсвечивает.

В Eclipse, например, можно включить автоматическое форматирование при сохранении. И не только форматирование, но и некоторые другие "подчистки" кода. Я его почти всегда держу включенным.
Re: Свобода форматировать код - зачем она?
От: Воронков Василий Россия  
Дата: 24.11.09 15:20
Оценка: +1
Здравствуйте, Chrome, Вы писали:

На VB.NET никогда не писали? Вот там по умолчанию как раз formatting nazi в полном объеме. Можно посмотреть, как оно в жизни-то получается.

Меня лично бесит
Re[5]: Свобода форматировать код - зачем она?
От: Sinix  
Дата: 30.11.09 01:21
Оценка: +1
Здравствуйте, no4, Вы писали:

S>>1. Шансов ошибиться скобочками куда меньше, чем шансов огрести проблем с отступами — скобочек банально меньше.

no4>Это результат опыта?
Скорее результат привычки. С точки зрения теории вероятности — сами понимаете — больше символов => больше места для ошибок
Ну и кроме того, чтобы получить странные результаты со скобочками — нужно ошибиться 2 раза.

S>>2. Нет разброда в том что считать отступом и сколько раз.

no4>Где разброд? Везде зафиксировано, что считать отступом — где в компиляторах, а где в соглашениях.
Таки 2 или 4 пробела?

S>>3. Ни одна софтина не заменяет скобочки на что-то другое (см холивары про табуляцию).

no4>Ну это должно быть зафиксировано в правилах. Например компилятор F# ругается, если ты делаешь отступы табами а не пробелами (я это обнаружил только при редактировании fsyacc-файлов — лдля собственно самого F# студия сама всё поддерживает ).
no4>Единственная проблема — с форумами всякими, но вполне терпимая.
Ок. Тогда другой аргумент:
Для шарпа можно вообще автоматом удовлетворять даже правилам параноидального StyleCop'a — ставим http://code.msdn.microsoft.com/PowerCommands и вуаля — автоворматирование при сохранении.
Для отступ-driven языков за отступами (и форматированием) должен следить программист. Лишние грабли.

S>>4. Семантика программы не должна определяться невидимыми символами/форматированием.

no4>Если ты не видишь отступы — зачем ты их делаешь?
Ставим не моноширинный шрифт — видим?. ССЗБ, согласен.

no4>Отсутпы делают даже в скобочных языках и именно потому, что они видимы сразу.

S>>5. Отступы у скобчатых получаются в нагрузку и не несут смысловой нагрузки (уже написано выше).

no4>Интересно, по вашему программисты на питон и F# не понимают своего щастья и мучаются?

Это функциональные языки, и там параметры, расписанные на несколько строк — экзотика. Да и сами ФП — пока экзотика. Для мейнстрима (читай императивщины) не пойдёт.
Re[4]: Свобода форматировать код - зачем она?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 12.12.09 14:33
Оценка: :)
Здравствуйте, Константин Б., Вы писали:

КБ>Здравствуйте, no4, Вы писали:


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


КБ>Очень чревато ошибками. Например при Cut/Paste кода из одного места в другое легко ошибиться в отступах. Забыть внести строчку в цикл или наоборот лишнюю добавить. Скобочки в этом отношении надежнее.


Хех, я однажды на такое нарвался. Запостил патч в тикет, саппорт его наложил, но читали из основного показа тикета в RT, где пробелы в начале строк убираются. Саппортовец придумал отступы по-своему, результат был ужасен. Когда ему показал кнопочку "показать письмо в оригинальном виде" — воспринялось как открытие века.

Случай, конечно, маргинальный, но скобки бы тут спасли.:)
The God is real, unless declared integer.
Re: Свобода форматировать код - зачем она?
От: Hobot Bobot США  
Дата: 23.11.09 20:54
Оценка:
Здравствуйте, Chrome, Вы писали:

C>Так же интересно, обязательные скобочки, выделяющие блоки кода, все эти {}, begin end

C> — уже живые мертвецы? Сущесвуют просто по инерции?
C>Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.

Посмотри на Питон. Как по мне — терпимо, но со скобочками нагляднее
What a piece of work is a man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world! the paragon of animals!
Re[2]: Свобода форматировать код - зачем она?
От: Курилка Россия http://kirya.narod.ru/
Дата: 23.11.09 21:49
Оценка:
Здравствуйте, Hobot Bobot, Вы писали:

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


C>>Так же интересно, обязательные скобочки, выделяющие блоки кода, все эти {}, begin end

C>> — уже живые мертвецы? Сущесвуют просто по инерции?
C>>Ведь отступов для достижения той же цели достаточно, и они являются необходимыми в свете вышеизложенных мыслей.

HB>Посмотри на Питон. Как по мне — терпимо, но со скобочками нагляднее


В Haskell можно как в Питоне, а если захочется (ну мало-ли по пьяни там или ещё как), то можно и скобочки нарисовать
Re[5]: Свобода форматировать код - зачем она?
От: Clevelus Россия http://clevelus.ru
Дата: 24.11.09 08:34
Оценка:
В Visual Studio Меню->Правка->Форматировать документ и нет проблем.

Как форматировать (в том числе и скобочки) можно предварительно настроить.
Доброго времени суток! Мир Вам! С уважением Clevelus.
Если мой ответ понравился — оцените, ни на что не влияет, но будет приятно.
Re[6]: Свобода форматировать код - зачем она?
От: Chrome  
Дата: 24.11.09 09:15
Оценка:
Здравствуйте, Clevelus, Вы писали:

C>В Visual Studio Меню->Правка->Форматировать документ и нет проблем.


Вопрос был — зачем позволять программисту нарушать стандартное форматирование?
Re[7]: Свобода форматировать код - зачем она?
От: Tekk  
Дата: 24.11.09 09:22
Оценка:
Здравствуйте, Chrome, Вы писали:

C>Вопрос был — зачем позволять программисту нарушать стандартное форматирование?


По историческим причинам (С)
Re[5]: Свобода форматировать код - зачем она?
От: Sinix  
Дата: 24.11.09 09:48
Оценка:
Здравствуйте, geniepro, Вы писали:

G>http://okasaki.blogspot.com/2008/02/in-praise-of-mandatory-indentation-for.html


А в киеве дядька...
Я перечислил грабли связанные с программированием отступами в мейнстриме.
Вы поделились ссылкой на опыты по натаскиванию новичков.
?????
[PROFIT]

Да ещё финальный пассаж "я поражён как правильное форматирование помогает студентам писать программы"... автор явно метит в капитаны

Не принято в общем. Следующий?
Re[3]: Свобода форматировать код - зачем она?
От: Pzz Россия https://github.com/alexpevzner
Дата: 24.11.09 10:16
Оценка:
Здравствуйте, no4, Вы писали:

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


Это у вас Стокгольмский синдром проявляется
Re[2]: Свобода форматировать код - зачем она?
От: Тролль зеленый и толстый  
Дата: 27.11.09 06:25
Оценка:
Ну да, для оправдания свободы форматирования приведены образцы говнокода. Очень показательно.
Re[2]: Свобода форматировать код - зачем она?
От: Тролль зеленый и толстый  
Дата: 27.11.09 06:26
Оценка:
ВВ>Меня лично бесит

А вашего тим лида?
Re[3]: Свобода форматировать код - зачем она?
От: alexeiz  
Дата: 28.11.09 04:40
Оценка:
Здравствуйте, 0xDEADBEEF, Вы писали:

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


A>>Chrome, Вам присуждается почётное звание Formatting Nazi:

DEA>Так лучше:...

Где ты только такое находишь.
Re[4]: Свобода форматировать код - зачем она?
От: no4  
Дата: 28.11.09 06:41
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, no4.


no4>>Всё-таки в скобочных языках программисты все равно делают отступы, чтобы сразу видеть вложенности в коде, а вот скобочки в отступных языках никто(1) для себя не пишет — хотя могли бы, например, комментариями.


S>1. Шансов ошибиться скобочками куда меньше, чем шансов огрести проблем с отступами — скобочек банально меньше.


Это результат опыта?

S>2. Нет разброда в том что считать отступом и сколько раз.


Где разброд? Везде зафиксировано, что считать отступом — где в компиляторах, а где в соглашениях.

S>3. Ни одна софтина не заменяет скобочки на что-то другое (см холивары про табуляцию).


Ну это должно быть зафиксировано в правилах. Например компилятор F# ругается, если ты делаешь отступы табами а не пробелами (я это обнаружил только при редактировании fsyacc-файлов — лдля собственно самого F# студия сама всё поддерживает ).

Единственная проблема — с форумами всякими, но вполне терпимая.

S>4. Семантика программы не должна определяться невидимыми символами/форматированием.


Если ты не видишь отступы — зачем ты их делаешь? Отсутпы делают даже в скобочных языках и именно потому, что они видимы сразу.

S>5. Отступы у скобчатых получаются в нагрузку и не несут смысловой нагрузки (уже написано выше).


S>Разумеется, любую идею можно довести до абсурда — отступы в маткаде не то чтобы страшнее (ПРЕВЕД ((ЛИСП) !)). Хотя вайтспейс всё равно круче.


S>В общем для мейнстрима не пойдёт


Прежде чем делать выводы стоило бы привыкнуть к обоим вариантам а потом выбирать. Скобочки просто привычный костыль.

Интересно, по вашему программисты на питон и F# не понимают своего щастья и мучаются?
Re[5]: Свобода форматировать код - зачем она?
От: fmiracle  
Дата: 29.11.09 20:56
Оценка:
Здравствуйте, no4, Вы писали:

S>>4. Семантика программы не должна определяться невидимыми символами/форматированием.


no4>Если ты не видишь отступы — зачем ты их делаешь? Отсутпы делают даже в скобочных языках и именно потому, что они видимы сразу.


У меня вот лично слабое зрение, я не вижу разницы между пробелами и табами.

Мне самому нравится как в Питоне отступы сразу и отступы и семантика. Но с другой стороны я поимел проблем из-за незаметного перехода пробел/таб, особенно при переносе с компа на комп и дальнейшим редактированием в редакторе с другими настройками.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[2]: Свобода форматировать код - зачем она?
От: Lloyd Россия  
Дата: 29.11.09 21:44
Оценка:
Здравствуйте, alexeiz, Вы писали:

A>Chrome, Вам присуждается почётное звание Formatting Nazi:


A>


Это устоявшееся выражение? А откуда оно?
Re[6]: Свобода форматировать код - зачем она?
От: VoidEx  
Дата: 30.11.09 09:08
Оценка:
Здравствуйте, Sinix, Вы писали:

no4>>Интересно, по вашему программисты на питон и F# не понимают своего щастья и мучаются?

S>Это функциональные языки, и там параметры, расписанные на несколько строк — экзотика. Да и сами ФП — пока экзотика. Для мейнстрима (читай императивщины) не пойдёт.

А на вопрос ответьте, интересно же. В Haskell, например, можно писать со скобочками и точками с запятыми, но, сюрприз, так не делает никто.
Re[7]: Свобода форматировать код - зачем она?
От: Sinix  
Дата: 30.11.09 09:42
Оценка:
Здравствуйте, VoidEx, Вы писали:

no4>>>Интересно, по вашему программисты на питон и F# не понимают своего щастья и мучаются?

S>>Это функциональные языки, и там параметры, расписанные на несколько строк — экзотика. Да и сами ФП — пока экзотика. Для мейнстрима (читай императивщины) не пойдёт.

VE>А на вопрос ответьте, интересно же. В Haskell, например, можно писать со скобочками и точками с запятыми, но, сюрприз, так не делает никто.

А я не ответил? Попробуем разжевать: для фп-style отступы — милое дело, ибо код компактней, смысловая нагруженность повыше, а императивщины — кот наплакал. Напомню, речь с самого начала шла о насильственном форматировании для мейнстрима. Так что не взлетит.
Re[3]: Свобода форматировать код - зачем она?
От: vmpire Россия  
Дата: 30.11.09 11:40
Оценка:
Здравствуйте, Lloyd, Вы писали:

A>>Chrome, Вам присуждается почётное звание Formatting Nazi:

A>>

L>Это устоявшееся выражение? А откуда оно?

Явно калька отсюда: http://lurkmore.ru/Grammar_nazi
Я бы, правда, не шутил особо на тему nazi (хотя lurkmore — ресурс прикольный). По крайней мере, пока ещё живы те, кто с ними воевал. Воевал — не в смысле пререкался в форумах, а по настоящему.
Re[4]: Свобода форматировать код - зачем она?
От: 0xDEADBEEF Ниоткуда  
Дата: 01.12.09 11:46
Оценка:
Здравствуйте, alexeiz, Вы писали:

A>Где ты только такое находишь.

Не поверишь — в PaintBrush
__________
16.There is no cause so right that one cannot find a fool following it.
Re: Свобода форматировать код - зачем она?
От: Alexander G Украина  
Дата: 01.12.09 16:09
Оценка:
Здравствуйте, Chrome, Вы писали:

C>Как думаете, со временем свобода форматирования полностью отомрет?


Нет.

Достаточно часто получается более выразительно писать с нарушением стандартов, чем с их соблюдением.
Хотя бы подряд идущие функции и метки таблицей:

case SomeValue:       SomeFunction( 100000, 12, 45); break;
case SomeOtherValue:  SomeFunction(      1, 24, 33); break;
/* и куча такого */
/* написание в одну строчку и таблицей повышает читабельность */


Особенно верно для всяких DSL средствами языка. Например, таких
Автор: chipsеt
Дата: 06.10.08
(А если серьёзно — boost::spirit, например).
Русский военный корабль идёт ко дну!
Re[6]: Свобода форматировать код - зачем она?
От: no4  
Дата: 01.12.09 19:10
Оценка:
Здравствуйте, Sinix, Вы писали:

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

no4>Это результат опыта?
S>Скорее результат привычки.

Я имел ввиду, что пробовали ли вы написать какое-нибудь количество кода на отступном языке или вас страшит сама идея снаружи, не попробовав.

S>>>2. Нет разброда в том что считать отступом и сколько раз.

no4>>Где разброд? Везде зафиксировано, что считать отступом — где в компиляторах, а где в соглашениях.
S>Таки 2 или 4 пробела?

в питоне — 4. http://www.python.org/dev/peps/pep-0008/

no4>>Единственная проблема — с форумами всякими, но вполне терпимая.

S>Ок. Тогда другой аргумент:
S>Для шарпа можно вообще автоматом удовлетворять даже правилам параноидального StyleCop'a — ставим http://code.msdn.microsoft.com/PowerCommands и вуаля — автоворматирование при сохранении.
S>Для отступ-driven языков за отступами (и форматированием) должен следить программист. Лишние грабли.

Разве важно, за отступами или за скобочками следит программист? Главное

S>>>4. Семантика программы не должна определяться невидимыми символами/форматированием.

no4>>Если ты не видишь отступы — зачем ты их делаешь?
S>Ставим не моноширинный шрифт — видим?. ССЗБ, согласен.

Спасибо что не WinDings

no4>>Отсутпы делают даже в скобочных языках и именно потому, что они видимы сразу.

S>S>>5. Отступы у скобчатых получаются в нагрузку и не несут смысловой нагрузки (уже написано выше).

no4>>Интересно, по вашему программисты на питон и F# не понимают своего щастья и мучаются?

S>Это функциональные языки, и там параметры, расписанные на несколько строк — экзотика.

Питон не является функциональным языком. В выражениях, кстати, отступы не используются для обозначения вложенности — только в императивных конструкциях.

Что имеется ввиду под "параметры" — параметры вызова функций?

S>Да и сами ФП — пока экзотика. Для мейнстрима (читай императивщины) не пойдёт.


Питон очень много где применяется, и он — императивщина.
Re[6]: Свобода форматировать код - зачем она?
От: no4  
Дата: 01.12.09 19:13
Оценка:
Здравствуйте, Sinix, Вы писали:

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


no4>>Отсутпы делают даже в скобочных языках и именно потому, что они видимы сразу.

S>S>>5. Отступы у скобчатых получаются в нагрузку и не несут смысловой нагрузки (уже написано выше).

"В нагрузку", это значит, чтоб читать потруднее было? Какую же нагрузку они несут? Особенно если учесть, что они невидимы? Зачем в текст вставляют что-то невидимое, и для компилятора не играющее роли?
Re[7]: Свобода форматировать код - зачем она?
От: Sinix  
Дата: 02.12.09 04:15
Оценка:
Здравствуйте, no4:

Я пожалуй сольюсь — ибо новых аргументов не придумаю. Спасибо и чао
Re[6]: Свобода форматировать код - зачем она?
От: Mr.Cat  
Дата: 03.12.09 15:07
Оценка:
Здравствуйте, Sinix, Вы писали:
S>Это функциональные языки, и там параметры, расписанные на несколько строк — экзотика.
Вовсе нет. В хаскеле часто так делается при документировании хэддоком: http://www.haskell.org/haddock/doc/html/ch03s02.html.
Re: Свобода форматировать код - зачем она?
От: COFF  
Дата: 03.12.09 21:43
Оценка:
Здравствуйте, Chrome, Вы писали:

А, вообще, свобода — зачем она? ;)
Re[7]: Свобода форматировать код - зачем она?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.12.09 13:00
Оценка:
Здравствуйте, Chrome, Вы писали:

C>Вопрос был — зачем позволять программисту нарушать стандартное форматирование?


Есть такая штука — решарпер. И есть у него ряд рефакторингов, когда код переносится куском из одного места в другое. И как то, давным давно, решарпер переформатировал весь переносимый кусок целиком. Что вызвало кучу нареканий со стороны пользователей. Так что сейчас решарпер переформатирует только края перемещаемого куска + делает отступы у всего куска целиком.
Вот такие вот наблюдения.
... << RSDN@Home 1.2.0 alpha 4 rev. 1302 on Windows 7 6.1.7600.0>>
AVK Blog
Re[3]: Свобода форматировать код - зачем она?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 12.12.09 14:29
Оценка:
Здравствуйте, no4, Вы писали:

Pzz>>Так сделано в питоне. На мой взгляд — глупость.

no4>И еще — F#, Haskell, Boo
no4>Я тоже раньше так думал. Пробовал ли ты привыкнуть к этому? С моей точки зрения, скобочки — просто привычный костыль. Конечно первое время глаз относится недоверчиво — так как привык проверять отступы по дублирующим их скобочкам. А потом привыкаешь и скобки наоборот начинают раздражать.

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

В языке со скобками всё просто — стал на скобку, нажал '%' и на месте (рассказываю для vim). А тут? Требуется новый костыль.

С другой стороны, пока что мне наличие elif важнее (его отсутствие в Си и наследниках — глупость несусветная)

no4>Всё-таки в скобочных языках программисты все равно делают отступы, чтобы сразу видеть вложенности в коде, а вот скобочки в отступных языках никто(1) для себя не пишет — хотя могли бы, например, комментариями.


Иногда таки приходится.

no4>(1) "Никто" употребляется в разговорном смысле "известное мне большинство"


ага. ;)
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.