私は英語のネイティブスピーカーではありません。私の母国語では、再帰を停止するためにチェックされる条件、および極端な、起こりそうにない、または非常に単純なケースのためにチェックされる条件を指すのに使用されるいくつかの用語を知っています。英語では、「エッジケース」、「コーナーケース」、「境界ケース」、「ベースケース」という用語に遭遇しましたが、違いを理解することはできません。それらの違いの要約を取得したいと思います。
特に、誰かが次のサンプルコードの行に注釈を付けることができればとてもうれしいです。
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);
}
私はそれだと思う:
- サニティーチェック
- 入力チェック
- 境界の場合?エッジケース?コーナーケース?
- 規範事例?境界の場合?
- コーナーケース?エッジケース?
4
エッジと境界は一般的に同じだと思います。ただし、コード内の条件をチェックするのではなく、テストを参照します。
—
リチャード
@Richard Testingはコードではありませんか?それは私の理解ではありません-これらの用語はコードに適用されないと信じているという事実をサポートする参照がありますか?
—
ブラッドトーマス