No soy un hablante nativo de inglés. En mi idioma nativo, conozco algunos términos que se usan para referirse a la condición marcada para detener una recurrencia, y a la condición marcada para casos extremos, improbables o súper simples. En inglés, he encontrado los términos "caso de borde", "caso de esquina", "caso límite" y "caso base", pero no puedo entender las diferencias y cuál se usa para referirme a qué; Me encantaría obtener un resumen de las diferencias entre ellos.
En particular, estaría muy feliz 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 creo que es:
- Prueba de cordura
- Comprobación de entrada
- Caso límite? ¿Caso extremo? Caso de la esquina?
- ¿Caso base? Caso límite?
- Caso de la esquina? ¿Caso extremo?