边缘案例和角落案例之间的明显区别是什么?

时间:2017-11-29 19:17:32

标签: algorithm naming-conventions

我看到这两个词可以互换使用。网上找到的定义似乎也有所不同。

根据我的理解,角落案例是输入的极端值。边缘情况是设计算法时要处理的极端情况。这是对的吗?

是否有标准定义?

3 个答案:

答案 0 :(得分:3)

这些通常可以互换使用。如果你小心语言,这些具有特定的(工程)意义(由维基百科提供):

在工程中,极端情况(或病态情况)涉及仅在正常操作参数之外发生的问题或情况 - 特别是当多个环境变量或条件同时处于极端情况时表现出来的问题或情况级别,即使每个参数都在该参数的指定范围内。

边缘情况是仅在极端(最大或最小)操作参数下发生的问题或情况。例如,即使没有其他极端设置或条件,立体声扬声器在以最大额定音量播放时也可能会明显扭曲音频。

在编程中,边缘情况通常涉及需要在计算机程序后面的算法中进行特殊处理的输入值。作为在这种情况下验证计算机程序行为的措施,通常会创建单元测试;他们正在测试算法,函数或方法的边界条件。围绕每个“边界”的一系列边缘情况可以用来给出合理的覆盖率和置信度,假设如果它在边缘表现正确,它应该在其他地方表现。

例如,可以使用非常大和非常小的数字来测试划分两个数字的函数。这假设如果它适用于幅度谱的两端,它应该在两者之间正常工作。

答案 1 :(得分:1)

也许如果您正在检测点的笛卡尔平面的哪个象限,则边缘情况可以是x = 0或y = 0.角点情况可以是原点x,y = 0,0。 TBH我很确定大多数人会互换使用边缘案例和角落案例。如果您确实需要准确描述某种情况,那么最好在当时指定更多详细信息,以便您的受众理解。

答案 2 :(得分:1)

根据Wikipedia

<块引用>

如果边缘情况涉及将一个变量推到最小或 最大限度地,将用户置于配置空间的“边缘”, 极端情况涉及使用多个变量来做这件事,这会导致 用户处于多维配置空间的“角落”。