对于程序员来说,bug相当熟悉。小小的一个bug,可能使电脑系统或者程序存在问题,没有办法正常运转。而查找bug,再提出解决办法,也就成为很多程序员经常做的事。W3Cschool小编为大家介绍一个网友,遇到这么一个PHP代码的奇葩bug,寻求大家的帮助:
如上图所示,这个代码非常好理解,也就是用递归算累加,但是我想知道,为什么$a的值不能超过97?还是说我代码设计上出现了问题?
在这个网友发出求救信号很久后,有个热心的网友回答了这个问题,下面是这个网友的回答:
你这个是配置的问题,
当PHP 中当函数调用层数超过限制的时候就会出现 Maximum function nesting level of ‘100’ reached,
默认的情况下,函数嵌套不能超过 100 层,可以通过修改配置文件来解决此问题。
修改 php.ini,添加 xdebug.max_nesting_level=600。
时隔很久,这个网友才回答这个问题,也不知道楼主的问题解决了没有。很多时候,代码中出现bug,但是怎么找也找不出来。而别人一看你的代码,就知道bug在哪里,可能这就是所谓的“当局者迷旁观者清”。其实要想锻炼自己找bug的能力,可以试试下面的办法。
熟读bug三百条 bug怎么找很明了
在测试行业中,部分新人刚踏进这个行业时,通常对于怎么找bug非常迷茫。提上去一些bug,很快就被退回来,别人家说你找的这个根本就不是bug。而有些bug,你感觉不是,别人却对你说,你怎么没找出这个bug呀。长久之后,你被打击得自信心全无。
这就涉及了一个问题,对于测试工程师来说,怎么积累自己对bug的敏感度,还有对bug把握的准确度,就显得至关重要了。其实这个问题,不仅仅对于新人,对很多这个行业工作了很多年的工程师来说,都是个难题。为了解决这个问题,有人推荐熟读bug三百条,你对bug怎么查找将很明了。
对于测试工程师来说,最好是形成经验积累机制,尤其对于如何查找bug这个老大难的问题。越早发现bug,越早解决问题,公司付出的代价就越小。测试工程师最好积累一些公司这几年里,比较典型的bug,再用文档亦或者某种形式来共享。
这样做,老测试员可以时刻提醒自己。而新员工,也可以提早知道哪些可能出现的bug,亲自重现或分析其中的一些。当然,出现的bug不可能一样,这里说的是培养一种找bug的敏感度。就像学英语一样,语感很重要。
简而言之,就是没提过bug,大概知道怎么找bug。
bug很烦恼,查找bug很苦逼。但是有些bug,一个就会让公司损失上百亿。W3Cschool小编记得之前有个报道称,一个bug引发证券业400亿天价损失,都是程序员不小心惹的祸。所以说,程序员们,对待bug,要小心。