Tôi không phải là người nói tiếng Anh bản ngữ. Trong ngôn ngữ mẹ đẻ của tôi, tôi biết một số thuật ngữ được sử dụng để chỉ điều kiện được kiểm tra để ngăn chặn đệ quy và điều kiện được kiểm tra cho các trường hợp cực kỳ, không thể hoặc siêu đơn giản. Trong tiếng Anh, tôi đã gặp các thuật ngữ "trường hợp cạnh", "trường hợp góc", "trường hợp ranh giới" và "trường hợp cơ sở", nhưng tôi không thể tìm ra sự khác biệt và được sử dụng để nói về điều gì; Tôi muốn nhận được một số tóm tắt về sự khác biệt giữa chúng.
Đặc biệt, tôi sẽ rất vui nếu ai đó có thể cung cấp chú thích cho các dòng trong mẫu mã sau:
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);
}
Tôi nghĩ đó là:
- Kiểm tra sự tỉnh táo
- Kiểm tra đầu vào
- Trường hợp ranh giới? Trường hợp cạnh? Trường hợp góc?
- Trường hợp cơ sở? Trường hợp ranh giới?
- Trường hợp góc? Trường hợp cạnh?