Size: a a a

2021 March 30

JS

Jerzy Syrowiecki in Haskell
Ilya Kos
Про поддерживаемость это твое внутреннее ощущение, или оно на чем-то основано?
научных исследований не знаю, но от многих слышал, что код, отформатированный таблично, позволяет находить логические ошибки визуально.

ormolu портит вертикальное выравнивание
источник

IK

Ilya Kos in Haskell
Jerzy Syrowiecki
научных исследований не знаю, но от многих слышал, что код, отформатированный таблично, позволяет находить логические ошибки визуально.

ormolu портит вертикальное выравнивание
Это про выравнивание = и ->?
источник

JS

Jerzy Syrowiecki in Haskell
Ilya Kos
Это про выравнивание = и ->?
чего угодно вертикально, например,

do
 hello alpha   beta
 hello beta    gamma
 hello gamma   delta
 hello epsilon zeta
источник

IK

Ilya Kos in Haskell
Jerzy Syrowiecki
научных исследований не знаю, но от многих слышал, что код, отформатированный таблично, позволяет находить логические ошибки визуально.

ormolu портит вертикальное выравнивание
Ну с этим я согласен
источник

IK

Ilya Kos in Haskell
Но мне не кажется это таким огромным плюсом, и дело привычки. Для меня это мелочь, и я готов ею жертвовать ради маленьких дифов, более мелких размеров конфликтов, и более адекватного git blame
источник

АХ

Алексей Худяков... in Haskell
В больших case, где разные ветки делают похожие вещи, но немного наособицу это большое подспорье в ритаемости. Куда важнее меньших конфликов и блейм
источник

DR

Denis Redozubov in Haskell
Алексей Худяков
В больших case, где разные ветки делают похожие вещи, но немного наособицу это большое подспорье в ритаемости. Куда важнее меньших конфликов и блейм
+
источник

JS

Jerzy Syrowiecki in Haskell
Ilya Kos
Но мне не кажется это таким огромным плюсом, и дело привычки. Для меня это мелочь, и я готов ею жертвовать ради маленьких дифов, более мелких размеров конфликтов, и более адекватного git blame
а мне вот эта git-чушь не кажется значимой вооще
источник

IK

Ilya Kos in Haskell
Jerzy Syrowiecki
а мне вот эта git-чушь не кажется значимой вооще
Вопрос trade-off’ов. У разных людей разные ценности
источник

АХ

Алексей Худяков... in Haskell
Ещё раз повторюсь, что у разных людей и проектов разные ограничения и приоритеты. Загнать всех в один и тот же формат можно только сделав плохо всем
источник

IK

Ilya Kos in Haskell
Алексей Худяков
В больших case, где разные ветки делают похожие вещи, но немного наособицу это большое подспорье в ритаемости. Куда важнее меньших конфликов и блейм
Не прикольно тратить по пол дня на разрешение конфликтов в таких огромных case’ах
источник

JS

Jerzy Syrowiecki in Haskell
кстати, это всего лишь особенность гита, что он разбивает по строкам, есть другие системы управления версиями, в которых пробелы посередине никак не влияют на "маленьких дифов, более мелких размеров конфликтов, и более адекватного git blame"
источник

IK

Ilya Kos in Haskell
Jerzy Syrowiecki
кстати, это всего лишь особенность гита, что он разбивает по строкам, есть другие системы управления версиями, в которых пробелы посередине никак не влияют на "маленьких дифов, более мелких размеров конфликтов, и более адекватного git blame"
А потом мы вспоминаем что в хаскеле значимые отступы
источник

IK

Ilya Kos in Haskell
Тут должны быть система контроля версий, которая понимает синтаксис языка
источник

IK

Ilya Kos in Haskell
И такие есть!
источник

JS

Jerzy Syrowiecki in Haskell
а ещё можно таблично выравнивать не пробелами, а эластичными табами, тогда проблем и с гитом не будет
источник

JS

Jerzy Syrowiecki in Haskell
Ilya Kos
А потом мы вспоминаем что в хаскеле значимые отступы
отступы в начале и в середине строки — существенно разные!
источник

IK

Ilya Kos in Haskell
Ну есть языки в которых отступы в середине строки тоже значимые
источник

JS

Jerzy Syrowiecki in Haskell
Jerzy Syrowiecki
отступы в начале и в середине строки — существенно разные!
некоторые их смешивают

case a of b ->
         c ->


и получается ерунда
источник

IK

Ilya Kos in Haskell
Ilya Kos
Ну есть языки в которых отступы в середине строки тоже значимые
Один и два проблема между аргументами функции означают разные вещи, например
источник