ฉันไม่ใช่เจ้าของภาษา ในภาษาของฉันฉันรู้ถึงคำศัพท์บางคำที่ใช้อ้างถึงเงื่อนไขที่ตรวจสอบเพื่อหยุดการเรียกซ้ำและเงื่อนไขที่ตรวจสอบสำหรับกรณีที่รุนแรงไม่น่าจะเป็นไปได้ ในภาษาอังกฤษฉันเจอคำว่า "edge case", "corner case", "boundary case" และ "base case" แต่ฉันไม่สามารถเข้าใจความแตกต่างได้และใช้เพื่ออ้างอิงถึงสิ่งใด ฉันชอบที่จะสรุปความแตกต่างระหว่างพวกเขา
โดยเฉพาะอย่างยิ่งฉันจะมีความสุขมากถ้าใครบางคนสามารถให้คำอธิบายประกอบสำหรับบรรทัดในตัวอย่างรหัสต่อไปนี้:
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);
}
ฉันคิดว่ามัน:
- ตรวจสติ
- ตรวจสอบอินพุต
- กรณีเขตแดน กรณีขอบ? กรณีมุม?
- กรณีฐาน? กรณีเขตแดน
- กรณีมุม? กรณีขอบ?