KC
Size: a a a
KC
Oℕ
fromBigDecimal & createCumulativeCoefficient - между собой не сравнивались никогда) def from(v:BigDecimal) вместо def fromBigDecimal(v:BigDecimal) ?KC
Oℕ
fromBigDecimal & createCumulativeCoefficient - между собой не сравнивались никогда) def from(v:BigDecimal) вместо def fromBigDecimal(v:BigDecimal) ?M
M
Oℕ
M
Oℕ
M
def fromServiceModel(v: A):C = from(c.bigDecimal)
def fromBigDecimal(v:BigDecimal):C = ...M
AS
ΛВ
Oℕ
def fromServiceModel(v: A):C = from(c.bigDecimal)
def fromBigDecimal(v:BigDecimal):C = ...map(fromServiceModel) будет лучше, чемmap(CumulativeCoefficient.from(_ : ServiceModel))M
class MyWrapper(value:String) - физическая обертка-пустышка со всеми вытекающими.M
map(fromServiceModel) будет лучше, чемmap(CumulativeCoefficient.from(_ : ServiceModel))map(CumulativeCoefficient.from) (в мап у нас уже приходит ServiceModel) . К тому же в первом случае придется еще и импорт ручками писать, потому что идея не умеет импортить методы автоматом. Ну и опять таки, если у меня в мапу на вход вдруг станет приходить bigdecimal - для второго случая мне не придется ничего менять. для первого придется менять 2 места - импорт + вызов.M
map(fromServiceModel) будет лучше, чемmap(CumulativeCoefficient.from(_ : ServiceModel))
def fromInt и получать сплошные неудобства)AS
class MyWrapper(value:String) - физическая обертка-пустышка со всеми вытекающими.M

я как раз ловил проблемы, что в рантайме AnyVal был не отличим от типа над которым была обертка. - это не проблема, это то как он должен себя везти. А вместо этого он на каждый чих скатывается в свои ограничения. А точнее в пункт про cannot be used in type testsM
myval.value - чтобы достучаться до самого значения. Когда код усыпан этим - прям буэээ. А теги дают гарантию отсутствия обертки + могут быть использованы напрямую в качестве основания (а если нужно исключить это - ньютайпы - и опять с гарантией отсутствия оберток (правда обьективизация все же будет - примитивы перейдут в обьектные эквиваленты (только для ньютайпов, в тегах так же примитивы)))