万收网logo 临沂地区24小时上门回收电话:18264909999

新闻详情

Bug是怎么产生的?


2020-01-10 12:46

Bug的产生,通常分为三种类型:逻辑漏洞、越界访问、条件考虑不全面。
 
为了便于你理解,我以女朋友来大姨妈举例。
 
某日,你收到了女朋友的一条微信,跟你说自己来大姨妈,肚子疼。这时,你要写一段文字回复,这段回复你就可以认为是你写的一段代码。
 
这段代码需要达到的目的是让你的女朋友感受到你对她的爱,增进(至少不减少)你俩之间的感情。我们可以把这个目的当成你对自己提出的这段代码背后的产品需求。
 
1,逻辑漏洞:
 
你:我叫外卖来给你买个热饮吧。
 
女朋友:滚!你是想让我从床上趴下去给外卖小哥开门么?
 
分析:低级错误,程序执行后无法达到想要效果。
 
2,越界型:
 
你:我给你室友打个电话,让她帮忙照顾下你。
 
女朋友:滚,谁让你联系我室友的。
 
分析:访问了非法区域,造成程序崩溃。
 
3,条件考虑不全面:
 
你:亲爱的,我早就知道有这天,所以暖宝宝、热水壶、痛经药....(此处省略一万字),我都给你准备好了,就在家里。
 
女朋友:我现在在地铁站。
 
分析:你以为你万无一失,但你永远都不知道输入参数究竟是什么!
 
 
 
除了上面三种主流错误,还有一大堆,这里就不细说。
 
我跟其他答主不一样的是,我不光要告诉你们Bug是如何产生的,我还要跟大家解释我们程序员平常如何防范未知Bug,因为你们也看到了,Bug就像你女朋友的微信,你永远不知道她下一句攻击你哪个点。
 
所以,这里要祭出利器:异常捕获。
 
异常捕获一般依靠try,catch语句。很好理解:try(尝试)一下,如果有问题,直接捕获(catch)住,防止程序崩溃。

  • 上一篇:如何看待苹果或在 2020 年第一季度推出 iPhone 9?
  • 下一篇:如何看待 PS5 公开了 Logo 与性能?
  •