Entendi como utilizar, mas não entendi o motivo/vantagem.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Entendi como utilizar, mas não entendi o motivo/vantagem.
Fala Felipe, beleza?
Argumentos nomeados ajudam a deixar o código mais claro. Veja o exemplo a seguir:
var pedido = new Pedido();
pedido.Finalizar(true, 13.0M);
Você poderia se perguntar "mas o que é esse true, e esse número?". A única maneira de responder isso é encontrar a assinatura do método e ler os nomes dos parâmetros.
Mas poderíamos reescrever o código desta maneira:
bool enviarEmail = true;
decimal valorPago = 13.0M;
var pedido = new Pedido();
pedido.Finalizar(enviarEmail, valorPago);
Com os nomes das variáveis já fica melhor para entender o que o método Finalizar recebe, não?
Mas para evitar a declaração destas variáveis (e também evitar de você ficar consultando a assinatura dos métodos), a linguagem te permite usar parâmetros nomeados:
var pedido = new Pedido();
pedido.Finalizar(
enviarEmail: true,
valorPago: 13.0M);