Perché dovresti documentare un tipo di reso usando lo scaladoc?

5

Quello che segue è un frammento di un esempio tratto da pagina 240 del libro Programming Scala (Wampler & Payne, 2009; O'Reilly Media):

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

C'è qualche ragione per fare questo invece di specificare semplicemente il tipo di ritorno con un'annotazione di tipo reale, come sotto?

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

1 risposta

4

A volte in Scala, si interrompe dalla sintassi normale per creare qualcosa che assomiglia a DSL . I combinatori di parser sono una di quelle aree. Mettendo l'annotazione del tipo si romperebbe l'illusione del DSL di sembrare simile alla grammatica. Alcuni team di sviluppo si preoccupano più di altri. Alcuni team di sviluppo si preoccupano maggiormente dell'annotazione del tipo.

Preferirei omettere anche il commento. Tuttavia, quando lo spieghi ad altri, come in un libro di testo, è talvolta utile mostrare il tipo.

Si noti che questo è sicuramente un caso speciale. Il tuo correttore di tipi funziona meglio per te quando inserisci annotazioni di tipo di ritorno esplicito per tutte le tue funzioni, e questa è la pratica raccomandata nella maggior parte dei casi. Naturalmente, se sei come me e tendi a dimenticare esattamente come funzionano i parser combinatori quando non li usi per un po ', puoi "barare" inserendo i tipi all'inizio, quindi rimuovili in un secondo momento per farlo sembrare abbastanza.

    
risposta data 18.12.2015 - 02:15
fonte

Leggi altre domande sui tag