Quanto dovremmo essere difensivi?
https://softwareengineering.stackexchange.com/questions/84857
-
01-11-2019 - |
Domanda
Abbiamo corso Pex Oltre un po 'di codice, e ha mostrato alcune cose buone (beh cattive, ma mostrarle prima che arrivi alla produzione!).
Tuttavia, una delle cose carine di PEX è che non smette necessariamente di trovare problemi.
Un'area che abbiamo trovato è che quando passano in una corda, non stavamo controllando le stringhe vuote.
Quindi siamo cambiati:
if (inputString == null)
a
if (string.IsNullOrEmpty(inputString)) // ***
Ciò ha risolto i problemi iniziali. Ma poi, quando abbiamo eseguito di nuovo Pex, ha deciso che:
inputString = "\0";
stava causando problemi. Poi
inputString = "\u0001";
Quello che abbiamo deciso è che le impostazioni predefinite possono essere utilizzate se incontriamo // ***
E che siamo felici di vedere l'eccezione causata da qualsiasi altro input dispari (e affrontandolo).
È abbastanza?
Nessuna soluzione corretta