Por que você documentaria um tipo de retorno usando scaladoc?

5

O seguinte é um trecho de um exemplo da página 240 do livro Scala de Programação (Wampler & Payne, 2009; O'Reilly Media):

/** @return Parser[Money] */
def deductItem = deductKind ~> deductAmount

Existe algum motivo para fazer isso em vez de apenas especificar o tipo de retorno com uma anotação de tipo real, como abaixo?

def deductItem: Parser[Money] = deductKind ~> deductAmount
    
por Emil Lundberg 17.12.2015 / 22:57
fonte

1 resposta

4

Às vezes, no Scala, você quebra a sintaxe normal para criar algo que se pareça com um DSL . Os combinadores de analisador são uma dessas áreas. Colocar a anotação de tipo quebraria a ilusão de DSL de parecer gramática. Algumas equipes de desenvolvimento se importam com isso mais do que outras. Algumas equipes de desenvolvimento se importam mais com a anotação de tipo.

Eu preferiria omitir o comentário também. No entanto, ao explicá-lo para outras pessoas, como em um livro, é útil mostrar o tipo.

Note que este é definitivamente um caso especial. Seu verificador de tipos funciona melhor quando você coloca anotações de tipo de retorno explícitas para todas as suas funções, e essa é a prática recomendada na maioria dos casos. Claro, se você é como eu e tende a esquecer exatamente como os combinadores de analisador funcionam quando você não os usa por um tempo, você pode "trapacear" colocando os tipos primeiro, depois removê-los depois para fazer com que pareça bonita.

    
por 18.12.2015 / 02:15
fonte