Ben anadili İngilizce değil. Anadilimde, özyinelemeyi durdurmak için kontrol edilen koşullara ve aşırı, muhtemel olmayan veya çok basit vakalar için kontrol edilen şartlara atıfta bulunmak için kullanılan bazı terimlerin farkındayım. İngilizce'de, "kenar durum", "köşe durum", "sınır durum" ve "temel durum" terimleriyle karşılaştım, ancak aradaki farklılıkları tam olarak anlayamıyorum; Aralarındaki farkların bir özetini almak isterim.
Özellikle, birisi aşağıdaki kod örneğindeki satırlar için ek açıklamalar sağlayabilirse çok mutlu olurum:
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);
}
Ben düşünüyorum öyle:
- Aklı kontrol
- Giriş kontrolü
- Sınır davası? Kenar davası? Köşe davası?
- Temel durum? Sınır davası?
- Köşe davası? Kenar davası?