Existem vários critérios que devem fazer você considerar não usar um lambda:
- Tamanho Quanto maior o lambda, mais difícil é seguir a lógica que o envolve.
- Repetição É melhor criar uma função nomeada para lógica repetida, embora seja correto repetir lambdas muito simples espalhados.
-
Nomeação Se você puder pensar em um ótimo nome semântico, você deve usá-lo, pois adiciona muita clareza ao seu código. Eu não estou falando de nomes como
priceIsOver100
.x -> x.price > 100
é tão claro quanto esse nome. Quero dizer nomes comoisEligibleVoter
que substituem uma longa lista de condições. - Aninhamento Os lambdas aninhados são realmente muito difíceis de ler.
Não exagere. Lembre-se, o software é facilmente alterado. Em caso de dúvida, escreva nos dois sentidos e veja qual é mais fácil de ler.