Sugestões
otaviojava opened this issue · comments
Não ficou claro para min o motivo do get(0) nessa linha de código.
Um outro ponto, o que aconteceria se o response.getComplexGroupList()
estivesse vazio?
IMHO: O melhor seria se o ComplexDataStreamExample
fosse mais rico e retornasse algo como getFirstGrouop
O retorno já é um filtro é está dentro de um método privado, eu colocaria um nome mais explito o que ele faz.
Por exemplo:
.filter(byPaymentMethod(paymentMethodToSearch))
Vc vazou o encapsulamento aqui. Acho que seria mais semântico adicionar o pagamento e lá dentro ele define o tipo.
payment.add(debit);
Vc só utiliza esse método uma única vez, pq não mapea para retornar o que vc quer?
final String paymentTypeDescription = getCurrentPaymentMethod(complex);
Eu levaria essa lógica de construção toda para dentro do débito de alguma forma, por exemplo, com um builder
Debit debit = Debit.of(paymentTypeDescription, simpleValueListFromTarget);
payment.add(debit);
ps: Complex mapper, confesso que senti falta do contexto, parece que é algo de pagamento, não? E se fosse PaymentDataStream? Talvez inseria um pouco de DDD e linguagem ubiqua.
Pq está muito complexo: Uma lista que mappea complexo, que retorno complexo, que tem filtro complexo.
Tá as vezes tem o simple :)
Done