Size: a a a

Scala User Group

2020 February 03

SA

Sergey Alaev in Scala User Group
λoλdog
А, или ты про другое место
я в целом, конечно
источник

AO

Alexey Otts in Scala User Group
Nikita Vilunov
А к чему относится построение кейз класса из АСТ? Валидация?
Парсинг
источник

NV

Nikita Vilunov in Scala User Group
Alexey Otts
Парсинг
А проверка что в поле лежит инт а не стринг — это тоже парсинг?
источник

AO

Alexey Otts in Scala User Group
Ну это конечно частично валидация входных данных, да
источник

λ

λoλdog in Scala User Group
Частичную можно делать конечно
источник

λ

λoλdog in Scala User Group
Но не везде
источник

λ

λoλdog in Scala User Group
Бизнесовую точно нужно делать отдельно
источник

SA

Sergey Alaev in Scala User Group
Alexey Otts
Ну дак и в чем проблема написать тот же validated руками? Получится столько же строк как и с аннотациями. В чем вообще профит?
проблема в методологии. при валидации кодом, а не декларативной, сложно провести аудит и гарантировать, что валидируется всё. это вопрос security.
источник

NV

Nikita Vilunov in Scala User Group
Alexey Otts
Ну это конечно частично валидация входных данных, да
Тогда почему бы не делать проверку, что там лежит телефон и возвращать модельку с полем типа Phone, который ньютайп над стрингом, а не просто стринг?
источник

NV

Nikita Vilunov in Scala User Group
λoλdog
Бизнесовую точно нужно делать отдельно
Бизнесовую — эффектфул чтоле?
источник

AO

Alexey Otts in Scala User Group
Sergey Alaev
проблема в методологии. при валидации кодом, а не декларативной, сложно провести аудит и гарантировать, что валидируется всё. это вопрос security.
А в чем различие то?
источник

λ

λoλdog in Scala User Group
Nikita Vilunov
Бизнесовую — эффектфул чтоле?
Необязательно
источник

AO

Alexey Otts in Scala User Group
Nikita Vilunov
Бизнесовую — эффектфул чтоле?
Ну вот то что ты сказал, что в поле телефон уже по сути бизнес
источник

SA

Sergey Alaev in Scala User Group
Alexey Otts
А в чем различие то?
есть у тебя кейс класс на 50 полей. сколько нужно времени, чтобы убедиться, что все его поля валидируются?
источник

NV

Nikita Vilunov in Scala User Group
Alexey Otts
Ну вот то что ты сказал, что в поле телефон уже по сути бизнес
Там с таким же успехом может быть вложенный объект-кейзкласс, это тоже бизнес?
источник

AO

Alexey Otts in Scala User Group
Sergey Alaev
есть у тебя кейс класс на 50 полей. сколько нужно времени, чтобы убедиться, что все его поля валидируются?
А если их не все надо валидировать? Где та грань?
источник

AO

Alexey Otts in Scala User Group
Nikita Vilunov
Там с таким же успехом может быть вложенный объект-кейзкласс, это тоже бизнес?
Если он будет проверять формат, то да
источник

AO

Alexey Otts in Scala User Group
Демагогия пошла
источник

λ

λoλdog in Scala User Group
Alexey Otts
Если он будет проверять формат, то да
Ну вот формат можно проверить какимнибудь refined
источник

SA

Sergey Alaev in Scala User Group
Alexey Otts
А если их не все надо валидировать? Где та грань?
нет таких полей, ну или почти нет. строковые поля всегда должны иметь ограничение по длине и часто - по регулярке. числовые - почти всегда по диапазону. исключений очень, очень мало.
источник