Size: a a a

Scala User Group

2021 August 04

VC

Vadim ChelyshOv in Scala User Group
лол, я не заметил проблему)
источник

I

Ilya in Scala User Group
ну да, с первого взгляда не очевидно ))
источник

M

Mikhail in Scala User Group
Это как раз область стат анализаторов. И в случае конкретно одного выражения - никто не пишет { Option(10) }.map, а скорее пишут { Option(10).map }. Поэтому именно в таком виде не вызывает сомнений, что челик хотел ко всему логическому блоку
источник

VC

Vadim ChelyshOv in Scala User Group
ну все, вот теперь можно закапывать скобки. с сигнификант-индентацией такой фигни не будет.
источник

ZM

ZLoyer Matveev in Scala User Group
я воспринял пример как идею, а не буквально в таком виде

но все равно тогда надо как-то различать кейсы попроще и посложнее
источник

D

Daniel in Scala User Group
+
хз как тут стат анализатор помог бы
источник

VC

Vadim ChelyshOv in Scala User Group
ну помог бы если бы такой рул был
источник

D

Daniel in Scala User Group
замените if else на fold из mouse и будет счастье
источник

GP

Grigory Pomadchin in Scala User Group
А как бы он работал?
источник

M

Mikhail in Scala User Group
Да. Специфический рул для if{}.method else {}.method - такие рулы - хлеб стат анализаторов для с++, когда вроде бы конструкция и разрешенная компилятором и имеет даже смысл, но отличается от обычного кода и потенциально может приводить к малозаметным ошибкам.
источник

D

Daniel in Scala User Group
вроде можно настроить scalafmt чтобы он убирал скобки в if else (ну если там что-то простое в ветках)
источник

D

Daniel in Scala User Group
ну и тогда бы глазами было виднее наверное
источник

D

Daniel in Scala User Group
if (flag) Option() else Option().map()
источник

GP

Grigory Pomadchin in Scala User Group
хм да, такое было б хорошо
источник

P

Pavel in Scala User Group
так может быть сложнее, чем одна строка
источник

D

Daniel in Scala User Group
тогда метод надо декомпозить :)
источник

ZM

ZLoyer Matveev in Scala User Group
имхо, в идеале надо проверять есть ли тест на этот кусок

если нету, то тогда ругаться что потенциально опасное место
источник

D

Daniel in Scala User Group
Pavel соглы?
источник

P

Pavel in Scala User Group
надо тогда еще стат анализатор, который скажет, что у тебя в if-else блоки больше 1 строки (мб такое есть, я хз)
источник

D

Daniel in Scala User Group
ругать надо ревьювера тогда
источник