🔗 Tarefa
Faça com que a função joinOptions()
retorne a lista em formato JSON (por exemplo, [a, b, c]
) especificando apenas dois argumentos.
Você pode utilizar a função joinToString
disponÃvel na [stdlib (https://kotlinlang.org/api/latest/jvm/stdlib/):
fun joinToString(
separator: String = ", ",
prefix: String = "",
postfix: String = "",
/* ... */
): String
Caso de uso
Ao se deparar com Argumentos nomeados em Kotlin, é possÃvel imaginar colocando marcadores ou etiquetas em valores enviados para funções, tornando tudo mais compreensÃvel e minimizando equÃvocos.
fun enviarEmail(
de: String,
para: String,
assunto: String,
) = Unit
Normalmente, a função seria usada da seguinte maneira:
enviarEmail(
"remetente@exemplo.com",
"destinatario@exemplo.com",
"Sobre a Reunião"
)
Mas quando nomeamos os argumentos, cada valor é especificado de maneira clara:
enviarEmail(
de = "remetente@exemplo.com",
para = "destinataria@exemplo.com",
assunto = "Sobre a Reunião"
)
Definindo apenas o necessário
Digamos que só o assunto precisa ser definido, deixando o resto como padrão:
enviarEmail(assunto = "Cancelamento da Reunião")
Flexibilidade na organização
Mudar a ordem dos valores? Sem problemas, tudo continua entendÃvel:
enviarEmail(
assunto = "Lembrete",
para = "area@example.com",
de = "equipe@example.com"
)
Vantagens
- Clareza nas chamadas de funções: nomear argumentos elimina qualquer dúvida sobre a correspondência entre os valores fornecidos e os parâmetros da função.
- Flexibilidade: não há necessidade de seguir a ordem padrão dos parâmetros, permitindo focar apenas nos argumentos relevantes.
- Redução e prevenção de erros: Ao nomear argumentos, se reduz a chance de passar acidentalmente um valor errado para um parâmetro.
- Documentação implÃcita: o código se torna auto explicativo, reduzindo a necessidade de comentários adicionais para explicar a finalidade de cada valor.
Desvantagens
- Manutenção de Nomeação: quando um nome de um parâmetro é alterado na definição da função, todos os argumentos que utilizam esse parâmetro precisam ser atualizados.
- Verbosidade nas chamadas: em funções com muitos argumentos, nomear cada um pode tornar a chamada da função extensa e poluÃda.
Analogia
Imagine entrar em uma biblioteca cheia de livros, todos com a mesma capa e sem tÃtulos na lombada. Você sabe que ali está o livro que você quer, mas como encontrar ele no meio de tantos iguais?
Isso é similar aos named arguments
em Kotlin. Sem identificar bem os argumentos, a pessoa pode facilmente se perder, mesmo sabendo o que quer fazer. No entanto, com named arguments, tudo fica mais claro, como se cada livro tivesse sua própria capa e tÃtulo.
Top comments (0)