Size: a a a

Scala User Group

2020 January 08

λ

λoλegΥch in Scala User Group
честно это довольно стремный отчет
источник

SA

Sergey Alaev in Scala User Group
сделай лучше, я с удовольствием почитаю. Ну или хотя бы покритикуй предметно
источник

λ

λoλegΥch in Scala User Group
"Naive approach to write code as functions is not that flexible" ну что это такое
источник

λ

λoλegΥch in Scala User Group
"you can't add new argument to g() w/o adding new arguments to entire call stack" это аргумент уровня спринга с тредлокалами
источник

λ

λoλegΥch in Scala User Group
а больше аргументов и нету...
источник

SA

Sergey Alaev in Scala User Group
ок, у тебя есть код:
def a(v: Int) = b(v)
def b(v: Int) = c(v)
def c(v: Int) = v + 1
источник

SA

Sergey Alaev in Scala User Group
отрефакторь его так, чтобы c прибавляло не 1, а некторое значение, которое читается из конфигурации
источник

λ

λoλegΥch in Scala User Group
"is that really the best way" нет конечно - всем известно что бествей это дистейдж
источник

λ

λoλegΥch in Scala User Group
ну а кто не достиг уровня джейли передает в функции параметры и не жужжит
источник

λ

λoλdog in Scala User Group
λoλegΥch
"is that really the best way" нет конечно - всем известно что бествей это дистейдж
ух какие заявления)
источник

SA

Sergey Alaev in Scala User Group
а я бы зажужжал, если бы для любой доработки низовой функции мне приходилось бы перетряхивать весь коллстэк вплоть до мейна
источник

λ

λoλegΥch in Scala User Group
имхо это мелочь
источник

SA

Sergey Alaev in Scala User Group
как раз нет, это нарушения принципа локальности - локальное изменение функционала должно реализовываться локальным изменением кода. иначе получишь нестабильное приложение. скоуп тестирования растет, тесты ломаются. некруто.
источник

λ

λoλegΥch in Scala User Group
нет никакого принципа локальности
источник

λ

λoλdog in Scala User Group
Sergey Alaev
отрефакторь его так, чтобы c прибавляло не 1, а некторое значение, которое читается из конфигурации
нужно вызвать a n раз просто)
источник

SA

Sergey Alaev in Scala User Group
λoλdog
нужно вызвать a n раз просто)
теперь я знаю, кто пишет браузеры)
источник

SA

Sergey Alaev in Scala User Group
λoλegΥch
нет никакого принципа локальности
почему ты считаешь, что это неправильный принцип?
источник

λ

λoλegΥch in Scala User Group
функция должна принимать ровно те аргументы которые ей нужны, и все ее вызывающие должны их передавать и соответственно знать о них
источник

SA

Sergey Alaev in Scala User Group
λoλegΥch
функция должна принимать ровно те аргументы которые ей нужны, и все ее вызывающие должны их передавать и соответственно знать о них
в этом и проблема. при таком построении кода сигнатура функции должна содержать все данные, которые нужны дереву вызовов из этой функции, рекурсивно. нарушение инкапсуляции.
источник

λ

λoλegΥch in Scala User Group
инкапсуляция скрывает внутренее состояние, которого в чистом коде нету..
источник