[技术讨论]网络软件开发的bug分析与公司开发管理问题之腾讯篇一(有更新)

来源:互联网 发布:安卓编程入门 编辑:程序博客网 时间:2024/05/01 06:45
接上文网易篇,地址是:http://blog.csdn.net/qingrun/article/details/8537478
5.    腾讯
这里关于腾讯的内容会比较多,毕竟使用QQ,就会使用其中的一些服务和游戏,最早玩农牧场是因为我前妻当时让我帮她挂着号操作,前后关联起来,发现的问题就非常多了。
程序员的习惯,让青润一直保持着看到实现效果就会去思考这个代码中是否存在问题,是否还有优化空间等等的习惯。
5.1    农场牧场的物品管理中的不同

5.1.1    现象
可能很少有人去注意细节,但是,在很多人玩过的农场牧场中,我们可以看到这样的区别:农场的仓库中,随便卖出解锁或者加锁一个物品,屏幕仍然定位在卖出前的位置,而在牧场的仓库中,随便卖出甚至解锁加锁一个物品,屏幕就会回到最顶端的位置,也就是说,如果要回到前面的位置,只能自己拖动滚动条来做到。这个问题在4个月前给我团队的测试人员看过,告诉他们这是什么原因,以及隐含的深层次问题。
2013年1月13日去看了一下,发现两个变成一样的,都成了上面提到的农场的仓库管理形式。
随后又发现,这个问题在农场的种子管理里面仍然存在,请看下面的组图。
 
200个荷叶清香种子卖掉20个,确认。
 
系统显示卖掉,然后自动回滚到种子列表页的最上端。
 
这是卖完以后的情景,然后我们滚屏到对应的位置可以看到只剩下180个荷叶清香种子,如下图所示。
 
至于蔬果也就是农场物品的卖掉和牧场物品卖掉的位置锁定功能这里就不截图了,因为进去后各位就能看到现在的情况。
类似上面的情况,在农牧场连续登录几天后的赠送物品的显示上也是不同的,农场就是直接从右边的赠送列表中飞下来,飞向“我的物品包”,而牧场则是赠送物品显示在界面上让人点击后消失。完全同样的功能,代码都没有进行复用,而是重新的编写。
下面是农场,抓图还算及时,可以看到飞向“我的物品包”的那朵花——石竹花。
 
而牧场完全不同,是显示在界面上的。
 
5.1.2    分析
但是,这几个问题说明了什么呢?
腾讯的各个开发团队之间的沟通比较弱或者没有沟通交流,完全同样功能的代码,而且将来也不可能扩展出更多新功能的代码,居然写了很多份。
同样,腾讯的产品经理之间也没有沟通,一个让用户进行物品锁定起来非常繁冗的操作实现居然在网上挂了最少3年多才被修改。
而同样功能的代码其实在另一个几乎完全相同的产品中已经实现了,却没有得到代码的公用和复用。
而最好的实现方式已经有了现成代码却不能得到复用,居然重新写一套新代码,即使在同一款产品中也这样实现,实在是让人有些不解。难道是农场的产品经理换人了,但是这个种子管理是最开始就有的功能,并不是后来添加的功能呀!
从上述内容可以分析得到如下几点:
1、    开发团队中的开发资源和人力浪费,由此可见一斑。
2、    配置管理和配置库并没有得到有效的使用。
3、    企业代码库并没有建立,也就是说,没有工具类代码或者通用代码的说法,所有的代码都是新写的,于是测试人员也会特别累,因为每个代码都必须做全面测试,而不是部分代码可以减少一些不必要的白盒测试——但是,腾讯真得做到了么,最好测试了么?后面还有例子。
4、    另外程序员的基本功也比较弱,甚至连代码的统一性都做不到,都习惯用最简单的代码实现形式来完成任务,完成后就不做任何检查,也不做思考,或者说,没有很高的敬业精神,对自己的代码并没有尊重感,心里想到的只是如何尽快完成任务。实话实说,只要这个程序员细心一点检查一下自己开发成果,就会感到种子的管理和成果的管理之间的差异,就应该将他们调整成一致的表现形式。
5、    接续4中表现出来的另一个问题是,程序员几乎没有做过代码重构,也就是说代码写完,只要测试那边没有说有问题,他就绝不会再看这段代码了。
6、    团队间的沟通和产品形态不能统一,完全不像是一个大公司应有的形态,几乎同款的产品也表现出各种不同的形式。
7、    腾讯的测试真得很弱。
8、    其他的,需要其他佐证,看后续的文字分析吧。
5.2    调试信息出现在系统界面上
一个意外的活动让笔者点击进入了QQ夜店,结果发现,腾讯居然把调试信息放在界面上,而且界面更换了多次,调试信息依然存在,请看下面的组图。
 
 
 
在这里都可以很清晰的看到左下角的调试信息,太刺目了。下面两张是时隔12天后QQ夜店进入界面更换,系统升级后的截图,可以看到调试信息依然存在。
 
 
这说明什么呢?腾讯的测试人员工作很到位么?还是……?还是说太累了看不清楚?这么清晰的调试信息都能放在首页上展示?
 
上面这张图是场景变化时候的调试信息,太显眼了。
中国的网络用户实在太宽容了,只要你不影响到他的钱和个人利益,什么形态的东西都可以扔出来,你哪怕放20个广告100个bug,只要他的钱没有计算错误,他就不会找你算账。
在笔者进入网络公司以前,听到很多互联网软件开发人员宣称网络开发不是软件开发,还动辄说自己的开发多么累,多么不容易,客户多么挑剔,如何难以伺候,如何要求即时上线,如何苛刻。然后宣称行业软件开发时多麽容易,是这样么?
在行业软件开发中,这样的调试信息别说放在主界面上展示了,随便一个地方出现,都会被客户骂得狗血淋头,绝对不可能容忍的。
实际上这样的心态是因为很多网络开发人员最初也是做行业软件开发的,而网络开发人员几乎没有从互联网跳到行业软件开发中的,因为毕竟这几年互联网开发人员的收入是比行业软件开发高出不少的——动辄可以看到互联网公司开出50甚至一两百万年薪招聘架构师之类的,而行业软件公司从来没有过这么大的手笔,当然,也不排除是因为行业软件公司的老板比较小气。
5.3    QQ空间设置类别隐藏无法生效bug
设置隐藏此类信息,以后不再关注。
 
确认后提示,设置成功。
 
刷新后,此类信息仍然显示,并没有隐藏。
 
这在软件开发中,应该被认定为功能的整体缺失,也就是说,承诺的功能并没有做到,却可能让用户误以为是网络问题,一遍一遍的尝试。说重点,就是视他人生命为无物,说轻点,就是一个功能没有实现bug。
5.4    腾讯微博的抢沙发,居然没有判断是不是沙发
腾讯微博前段时间的一个活动,让玩家抢沙发回复,笔者发现,居然可以在一个微博中抢多次沙发。
 
 
系统仍然认为这样也算5个沙发都抢到了,却没有计算是不是沙发,循环和判断语句出错,却没有检查。



下文继续腾讯篇第二部分。
原创粉丝点击