如何看待很多“屎山”代码却异常稳定?

关注者
152
被浏览
142,672

121 个回答

因为屎山不是一天拉成的,它是很多人多年慢慢拉成的。

每当新人在山顶拉软软的新屎时,底下的屎已经凝固硬化了,强度经得起考验。

不怕在山顶拉新屎,就怕在山脚铲旧屎。

有一种开发方法论:测试驱动开发。当遍历了足够多异常情况之后,稳定性就来了(不厚道地笑)


比如你要我写一个函数判断给定的整数是不是质数,于是我写:

bool isPrime(int nNumber)
{
    return false;
}

你测试时,发现输入3和5返回结果不对,那行,我改为:

bool isPrime(int nNumber)
{
    if(nNumber == 3) return true;
    if(nNumber == 5) return true;

    return false;
}

你测试发现之前的bug修正了,但你发现输入11、13、17不对,于是我改……

当你有足够时间去测试,我又花足够时间去改,结果总归会“正确”。同理,当有测试又有修改时,稳定性总是会得到提升的,当时间足够长,环境足够多,稳定性好象也“足够”。

你测试时,很少发现问题,你看到代码时,你想砍人。----很多祖传“屎山”代码大概就是这意思。