Non sono un madrelingua inglese. Nella mia lingua madre sono a conoscenza di alcuni termini usati per riferirsi alla condizione controllata per fermare una ricorsione, e alla condizione controllata per casi estremi, improbabili o super-semplici. In inglese, ho incontrato i termini "edge case", "corner case", "boundary case" e "base case", ma non riesco a capire le differenze e che è usato per riferirsi a cosa; Mi piacerebbe avere qualche riassunto delle differenze tra di loro.
In particolare, sarei molto felice se qualcuno potesse fornire annotazioni per le righe nel seguente esempio di codice:
int transmogrify(int n) {
1. assert(n <= 1000000);
2. if (n < 0) return -1;
3. if (n == 1000000) return PRE_CALC;
4. if (n == 0) return n+1; // For stopping the recursion
5. if (n == 1251) return 3077;
return transmogrify(n-1);
}
I penso è:
- Controllo Sanity
- Controllo input
- Caso limite? Edge case? Caso d'angolo?
- caso base? Caso limite?
- Caso d'angolo? Edge case?