У меня есть такой код в нескольких местах в моем проекте:
def fun1(paramA: A, url: String)(implicit x: X): Future[T] = {
val select = x.someFunction(url)
val res = anotherFunction(select, paramA).mapTo[T]
res
}
def fun2(paramB: B, url: String)(implicit x: X): Future[T] = {
val select = x.someFunction(url)
val res = anotherFunction(select, paramB).mapTo[T]
res
}
def fun3(paramC: C, url: String)(implicit x: X): Future[T] = {
val select = x.someFunction(url)
val res = anotherFunction(select, paramC).mapTo[T]
res
}
Я чувствую, что он не следует за DRY.Также, когда мне нужно что-то изменить, я должен обновить код для всех методов.
Недавно я начал программировать в Scala, ранее я работал с Ruby, который не является типизированным языком.Я не уверен, что это лучший / правильный способ написания на Scala, или мы можем его изменить.