[Python] Domanda stilistica

Marco Giusti marco.giusti a posteo.de
Mer 24 Feb 2016 12:00:08 CET


On Wed, Feb 24 2016, Walter Valenti wrote:
> Premetto che non sono uno sviluppatore ma sistemista,
> quindi non me ne vogliate... ma sviluppo ogni tanto
> per hobby.
> 
> La mia è una domanda sullo stile da usare.
> 
> Mettiamo che io abbia una funzione, a cui passo
> utente e password. Se le credenziale sono valide
> questa funzione mi deve restituire un token.
> Nel caso che le credenziale non siano valide,
> è stilisticamente/semanticamente più giusto
> che restituisca None, False, o altro ?

Io lancerei un'eccezione. Alcuni potrebbero non essere d'accordo con me,
ma trovo le eccezioni chiare e autoesplicative se ben usate.

Perché non ritornare un valore che sia esterno all'insieme dei risultati
possibili? La prima volta che tu, o un altro per te, dimentica di
controllare il valore di ritorno della funzione, è possibile che
eccezioni del tipo "TypeError: unsupported operand type(s) for +:
'NoneType' and 'str'" vengano sollevate. Questo nel migliore dei casi,
perché se per un caso molto strano quel "None" finisce nel DB, potresti
fornire a tutti gli "sconosciuti" la stessa sessione.

Un bel AuthError invece è chiaro e può essere facilmente gestito ad un
livello superiore.

m.


Maggiori informazioni sulla lista Python