No soy un hablante nativo de inglés. En mi idioma nativo, soy consciente de algunos términos que se usan para referirse a la condición verificada para detener una recursión, y a la condición verificada para casos extremos, improbables o súper simples. En inglés, he encontrado los términos "caso de borde", "caso de esquina", "caso de límite" y "caso base", pero no puedo entender las diferencias y cuál se usa para referirse a qué; Me encantaría obtener un resumen de las diferencias entre ellos.
En particular, estaría muy contento si alguien pudiera proporcionar anotaciones para las líneas en el siguiente ejemplo de código:
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);
}
Yo pienso es:
- control de cordura
- Comprobación de entrada
- caso límite? ¿Caso extremo? ¿Caso de la esquina?
- Caso base? Caso de límites?
- caso de la esquina? Caso de borde?