软件出现的bug,可能都是开头没说清的需求

2018-05-20  本文已影响0人  浮虫

只要程序够复杂,一定会有bug出现,这无关程序员书写是否规范。

举个栗子,我们小时候都玩过一个赛车,叫四驱车。商店卖的盒子里,装满了四驱车的配件,我们买回家,欣喜若狂的拆开包装,照着说明书仔细安装,有的人拼装完成,根本跑不起来;有的能跑起来,却总能听到很不流畅的声音。这两种情况,放到软件开发中,真的再正常不过了。

作为一个不懂技术的人,我总会这样想,具有多年经验的开发老司机,开发一款常规的软件,应该是手到擒来,因为市面上已经有那么多成熟案例了啊。但是查查资料才发现,左右开发上线的因素太多了,就算是我们使用的Windows系统,穷尽这么多优秀工程师的努力,依然还是有很多bug存在。

通常我们开发一款那软件,是在A环境下进行的,开发好以后,需要把代码配置到B环境,明明在A环境下运行顺畅,到了B环境就出现问题;比如一个web网页,看似功能不多,需求极简,但是碰到IE浏览器,就总是调整不到位。还有一种情况,用户在线填写表格,表格内容有2种,在测试的情况,就会有3种情况,12分别被填写的时候,是否会出问题,12同时被填写的时候是否会出问题,如果表格内容有3个,那测试就要测到7种情况(1、2、3、12、13、23、123),这么复杂的交错,没有bug是不可能的。

还有一种情况,经常被客户视为bug,就是技术以为的和客户以为的,并不是一件事儿。这中间可能是沟通的问题,也可能是一开始需求就没有这个功能,但是开发出来,客户觉得应该有。

未雨绸缪,防患于未然,应该怎么做呢?

第一,沟通需求,不要嫌烦

当下大多数软件的开发,都是业务驱动,当帮助你开发的人,细致了解你的业务的时候,就能更好了解客户软件开发的诉求,并帮助你区分真伪需求,找到更好的解决方案。当年美国出行市场,主要是骑马,大家对出行的讨论总是集中在,让马跑的更快一点,做的更舒服等方面,而没有想到,其实你需要的是一辆车。再比如,家里有孩子,孩子说想吃鸡蛋,但是家里没有鸡蛋,孩子就拼命的哭,给孩子拿了一个面包吃下后,孩子不哭了,其实他是饿了。

第二、沟通需求,不要嫌烦

你没看错,我也没有写错。技术最烦的,就是需求的来去不明确,逻辑不闭环,问题说不清。需求对于开发而言就是目标,了解了目标动机,大目标才能更好的拆解细化成小目标,落到开发上,才能更好的落地,避开更多的坑,减少没必要的bug。

上一篇下一篇

猜你喜欢

热点阅读