• 为什么程序员发现不了自己的BUG


    作为开发就和我们成人一样看到问题总是以自己的世界观来理解,导致理所当然的就这样就对了,而真正真相就被隐藏了。


    最近在朋友圈流行了这样的一张小学数学题,当然结果是“出乎意料”,看似简单的结果,几乎很少有人作对,而分析下来的原因无非是惯性思维下的粗心导致完全错误,那么云层带大家分析下思考过程。


    ?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


    看图可知,猫=X 猫头=Y 猫爪=Z 既

    3X=30

    X+Y+Y=20

    Y+Z+Z=9

    所以X=10 Y=5 Z=2

    故结果 Y+Z+X=5+2+10=17


    ?wx_fmt=jpeg


    一般大多数的第一结果可能都是这样!等等,注意最后一个应该是Y+Z*X=?


    ?wx_fmt=jpeg


    心中一百只草泥马奔过,再算一遍

    Y+Z*X=5+2*10=25


    ?wx_fmt=jpeg


    对不起还是错的,因为猫爪从2只


    ?wx_fmt=jpeg


    变成了1只


    ?wx_fmt=jpeg


    所以应该是 Y+Z/2*X= ? 心中一千只草泥马奔过,再算一次

    Y+Z/2*X=5+2/2*10=15


    ?wx_fmt=jpeg


    对不起还是错的,因为最后一只猫少一个爪子,所以应该是Y+Z/2*(X-Z/2)=?


    ?wx_fmt=jpeg


    心中一万只草泥马奔过,再算一次

    Y+Z/2*(X-Z/2)=5+2/2*(10-2/2)=14


    ?wx_fmt=jpeg


    其实大家会发现这个题目非常的“坑爹”,不就是故意折腾人么,但是在很多系统中,开发看到测试提出的Bug也是这样的感觉。作为开发就和我们成人一样看到问题总是以自己的世界观来理解,导致理所当然的就这样就对了,而真正真相就被隐藏了。

    而儿童一般能够做对的原因是,老师有引导性的提示细心的重要性并且长期踩雷。这也是测试人员和开发人员的区别之一,

    现在知道为啥测试不是谁都能做的工作了吧,开发也为啥找不到BUG了吧。



    640?

    出处:程序师

    链接:http://www.techug.com/post/why-can-not-you-find-your-bug.html


  • 相关阅读:
    sublime开启vim模式
    git命令行界面
    搬进Github
    【POJ 2886】Who Gets the Most Candies?
    【UVA 1451】Average
    【CodeForces 625A】Guest From the Past
    【ZOJ 3480】Duck Typing
    【POJ 3320】Jessica's Reading Problemc(尺取法)
    【HDU 1445】Ride to School
    【HDU 5578】Friendship of Frog
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12352569.html
Copyright © 2020-2023  润新知