程序员经常wonder if the use of a certain library or programming style is overkill。他们也经常claim that this is the case(他们是often believed)。
“矫枉过正”在编程环境中意味着什么?
答案 0 :(得分:5)
"矫枉过正"通常用于表示部署过于灵活和/或过度设计的解决方案,以解决表面上简单且高度本地化的问题。规范示例是FizzBuzz Enterprise Edition。
答案 1 :(得分:2)
术语“矫枉过正”(如果曾经直接使用它)指的是杀死某事物或某人的行为,其资源超过必要的资源。像射鹿一样50次,以确保它死亡。
在编程中,它适用于相同的原则:利用比必要更多的资源,或找到一个简单问题的过于复杂的解决方案。
一些简单的例子是
for i=1 to 100
x[i]=2^z[i];
y=x;
end
在每个迭代步骤中复制整个数组x
可以实现所需的结果,但您也可以按元素y[i]=x[i]
复制它,从而节省了大约900个操作,因此是一种过度杀伤。
使用OpenCV库来阈值图像是可能的,但使用的资源比严格必要的要多得多,并且是一个过度杀伤的例子。