为什么程序员发现不了自己的BUG?
最近在朋友圈流行了這樣的一個小學數學題,當然結果是“出乎意料”,看似簡單的結果,幾乎很少有人做對,而分析下來的原因無非是慣性思維下的粗心導致的完全錯誤,今天小編就帶大家一起分析下思考過程。
看圖可知,貓=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
一般大多數的第一結果可能都是這樣!
等等,注意最后一個應該是Y+Z×X=?
心中一百只草泥馬奔過,再算一遍
Y+Z*X=5+2*10=25
對不起還是錯的,因為貓爪從2只
變成了1只
所以應該是Y+Z/2*X=?
心中一千只草泥馬奔過,再算一次
Y+Z/2*X=5+2/2*10=15
對不起還是錯的
因為最后一只貓少一個爪子
所以應該是Y+Z/2*(X-Z/2)=?
心中一萬只草泥馬奔過,再算一次
Y+Z/2*(X-Z/2)=5+2/2*(10-2/2)=14
其實大家會發現這個題目非常的“坑爹”,不就是故意折騰人么,但是在很多系統中,開發看到測試提出的Bug也是這樣的感覺。作為開發就和我們成人一樣看到問題總是以自己的世界觀來理解,導致理所當然的就這樣就對了,而真正真相就被隱藏了。
而兒童一般能夠做對的原因是,老師有引導性的提示細心的重要性并且長期踩雷。這也是測試人員和開發人員的區別之一,現在知道為啥測試不是誰都能做的工作了吧,開發也為啥找不到BUG了吧。
/下面這幾張圖完美再現了小編發現bug時的心情/
救命呀!!!
討論:
當你發現 Bug 的時候,會是怎樣一種心境呢?歡迎留言和小編一起討論。
- THE END -
?
總結
以上是生活随笔為你收集整理的为什么程序员发现不了自己的BUG?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 普通程序员转型深度学习指南
- 下一篇: 【干货】人人都能看懂的LSTM