2012-08-09 19 views
5

Quando restituisco qualcosa di tipo Option, sembra utile spiegare nel nome del nome della funzione che è un'opzione, non la cosa stessa. Ad esempio, seqs ha reduceOption. Esiste una convenzione di denominazione standard? Le cose che ho visto:Convenzione di denominazione Scala per le opzioni

maybeFunctionName

functionNameOption

- non sembra essere così grande.

+2

E a proposito di 'functionNameOpt'? È più breve e ancora descrittivo. La convenzione di denominazione 'forse ...' è probabilmente più adatta a Haskell, dove il tipo di opzione è chiamato 'Maybe'. –

+3

Rilassati e dimenticalo. Presto ti sentirai a tuo agio con i nomi dei membri che non alludono all'opzione, perché in pratica è sempre ovvio se il membro è in grado di restituire "Nessuno". Considera questa una fase di adattamento –

risposta

13

reduceOption e amici (headOption, etc.) sono chiamati solo modo per distinguerli dai loro alternative non sicuri (che probabilmente non dovrebbe esistere in primo luogo, cioè, ci dovrebbe essere solo un head che restituisce un Option[A]) .

whateverOption non è la solita pratica nella libreria standard (o la maggior parte delle altre librerie Scala di cui sono a conoscenza), e in generale non è necessario o si desidera utilizzare questo tipo di notazione ungherese in Scala.

7

Perché si desidera rendere più lunghi i nomi delle funzioni? Non contribuisce nulla, poiché il fatto che restituisca un'opzione è ovvio quando si guarda al tipo di funzione.

reduceOption è un tipo di caso speciale, poiché nella maggior parte dei casi si desidera utilizzare riduci, tranne che non funziona su sequenze vuote.

+0

"poiché il fatto che restituisca un'opzione è ovvio quando si guarda al tipo di funzione." eccetto quando il tipo non è effettivamente reso esplicito, poiché Scala non incoraggia necessariamente specificando i tipi esplicitamente. – omnilinguist

Problemi correlati