Eu não sou um falante nativo de inglês. No meu idioma nativo, conheço alguns termos usados para se referir à condição verificada para interromper uma recursão e à condição verificada em casos extremos, improváveis ou super simples. Em inglês, encontrei os termos "caso de borda", "caso de canto", "caso de limite" e "caso de base", mas não consigo entender bem as diferenças e que é usado para se referir a quê; Eu adoraria obter um resumo das diferenças entre eles.
Em particular, eu ficaria muito feliz se alguém pudesse fornecer anotações para as linhas no seguinte exemplo 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);
}
Eu acho que é:
- Verificação de sanidade
- Verificação de entrada
- Caso limite? Caso Edge? Caixa de canto?
- Caso base? Caso limite?
- Caixa de canto? Caso Edge?