[Python] Domanda stilistica

Manlio Perillo manlio.perillo a gmail.com
Mer 24 Feb 2016 16:50:08 CET


2016-02-24 11:09 GMT+01:00 Walter Valenti <waltervalenti a yahoo.it>:
> 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 ?
>

La risposta è usare quello che è idiomatico nel linguaggio/ambiente che si usa.
In questo caso, usa una eccezione.

Nota che non sempre una eccezione è la soluzione migliore.
Vedi ad esempio i metodi find ed index del tipo string. Il primo
solleva ValueError, mentre il secondo restituisce -1.
Il secondo caso è preferibile se il il fallimento della ricerca non è
un evento *eccezionale*.
Con le eccezioni sei costretto ad aggiungere un ulteriore livello di
indendazione e complicare il codice, mentre nel secondo caso solo il
codice che gestisce l'errore va indendato e risulta più leggibile.

Sulle eccezioni in generale, di recente ho scoperto questi vecchi articoli:
http://www.joelonsoftware.com/items/2003/10/13.html
https://blogs.msdn.microsoft.com/oldnewthing/20040422-00/?p=39683
https://blogs.msdn.microsoft.com/oldnewthing/20050114-00/?p=36693


Ciao  Manlio


Maggiori informazioni sulla lista Python