Sappiamo che il controllo dei valori di ritorno impedisce il nostro software da stati imprevisti. (Puoi vedere la definizione CWE .) Ma a volte siamo certi del valore restituito. Ad esempio:
bool calculateSquareRootReturnFalseIfInputIsNegative(float input, float& output);
float calculateHypotenuse(float a, float b){
float c2 = (a*a) + (b*b);
float c;
calculateSquareRootReturnFalseIfInputIsNegative(c2, c);
return c;
}
La variabile locale c2
è sempre positiva. Pertanto, calculateSquareRootReturnFalseIfInputIsNegative()
restituisce sempre true. Non dovrei controllare il suo valore di ritorno.
Infine, è "controllare tutti i valori di ritorno non già conosciuti dal chiamante" un idioma valido?
Grazie ..