两件事情来说明:
第一件:昨天同事帮我改bug,bug不难,就是逻辑不清楚(改了n次的代码),同事改了一天(当然应该也不是很认真的改,但也没有敷衍),没改出来。晚上的时候,我也开始改这个bug了,大概看了一下他的代码,改了几十行吧。这个bug是我的代码报出来的,他不清楚逻辑,代码又很乱,所以他基本就是按照自己的思路改,尝试了n种方法。(以前有过先例,他改bug的时候,我在一边讲,最后搞得大家都晕了。)
对于这个bug,我是有解决方案的,大概知道要改什么,其实也就花了点时间,在理了理代码逻辑,改了几行代码,也就完了。
第二件:同样,我这边有个bug,还是反复改代码改出来的,完全没有预料到的。最开始,我按照产品的改动,使用完全不同的实现方式,直接绕过这个问题,写到一般,发现有个很严重的逻辑问题,不清楚,需要重新沟通需求,遂放弃。回来开始改bug,大概有三个人向我提出不同的解决办法,而我自己还没开始想我的解决办法。后来采取了一个比较权威的,项目使用比较多的,但是本身有个坑,只不过没人留意到(使用系统时间代替数据库时间,大概相差几秒吧)。这个方案,也不难,就是会花很多时间,我采用这个方案,是因为我还没这样用过,想尝试一下,也多学一点。很明显,最后还是放弃了这个方案,如果在开发的时候,就这样用的话,我当然没有意见,可是现在项目马上就要完结了,有一摩尔那么多的问题要改,每天都在加班,怎么有时间浪费在这上面。当然这不是我放弃最主要的原因,最主要的原因是,这个方案在我这里不太适应,有一般的功能,需要改其他的地方才能实现,而且改动很大,放弃。转回去直接改bug,change不加,花了半小时左右,改js,缓存了几个值(问题主要是刷新页面后,check box的状态没有报存下),OK。
总结,因为没有良好的设计,时间都花在了尝试不同的解决方案上了。如果最开始就使用一种解决方案,根本不会浪费这么多时间。