API per una funzione, dovrei generare un'eccezione? [duplicare]

1

Devo creare un metodo

CalculateMean(int[] x)

Se l'input è una matrice vuota, dovrei restituire 0 (o qualche numero) o generare un'eccezione?

    
posta chadisbad 12.09.2016 - 18:01
fonte

1 risposta

1

Secondo me, dovresti assolutamente lanciare un'eccezione (a meno che il tipo di ritorno sia annullabile).

Poiché l'array vuoto non ha una media, non esiste un numero corretto che un metodo CalculateMean possa restituire quando viene chiamato sull'array vuoto. Restituire qualsiasi numero sarebbe errato.

Dato che la restituzione di un numero qualsiasi non sarebbe corretta, ci sono solo due opzioni che vorrebbe essere corrette:

  • genera un'eccezione o
  • imposta il tipo di ritorno di CalculateMean nullable e restituisce null .

Qualunque cosa tu faccia, assicurati che la documentazione di CalculateMean indichi esattamente che cosa fa quando passi a una matrice vuota.

    
risposta data 12.09.2016 - 19:27
fonte

Leggi altre domande sui tag