开发一个新的需求,被告知配套的逻辑和之前某个类似单板完全一致,从而软件实现只需要修改很少的代码,“理论上”讲,这么少量的修改几乎不可能出错。
编码完成之后,涉及到验证,发觉组建验证环境非常复杂,既要设备、仪表、大量光纤光模块器件,还要选择和修改运行脚本,这个工作量是编码的数倍。
验证过程受阻时,偶现侥幸心理——“这么简单的修改,不可能出错,干脆不验证直接交付算了”,但潜意识里不断涌现“前方危险!”的信号,让人寝食难安。
干嘛受这个折磨,顶硬上。把验证环境一一理顺,脚本逐条修改好,开始验证,先后发现了如下问题:
1. 单板L2/L3 VPN存在问题,交换到错误端口;
2. 调试的ist命令未安装,出现问题无法调试;
3. OAM部分开发初未要求支持,因此有较多处需要重新补上才能正常运行;
4. 新需求需要实现几个配套接口才能正常运行;
5. 不断调通,调通发射器、反射器之后,发现逻辑在该单板上存在问题,需要定位修改。
6. 7. ??
看到了吗?这就是“完全一致”、“修改很少”的情况下,仍能出现的问题,厦大毕业的都顶不住,更何况其他开发。
因此,开发必须验证,原因是你认为可靠的未必可靠、你认为影响很小的未必影响很小,还有就是开发了本来就需要验证。
原文地址:http://www.cnblogs.com/atoman/p/6409153.html