程序员新人怎样在复杂代码中找 bug?
共 690字,需浏览 2分钟
·
2019-06-17 17:11
分享一些找 bug 的技能,算是经验之谈。身经数战,对自己有用的地方就拿去用,也欢迎一起讨论。神人也是从新手开始的,无非就是参悟或者训练的次数比较多了。
1. 多改几次bug就自然会了,虽然简单,可实际上就是这样的,每次改完bug后给自己一个反馈,分析下原因,如果下次出现了那么自己可以快速定位到吗,为什么刚开始没有想到是这里有问题,是哪里迷惑了自己。改完后记得分析与终结,这样下次遇到类似的就很容易了。
2. 锻炼下自己的记忆力。 看似和改bug 没有什么关系,其实关系大了,一个写代码的程序员写了下一段,上一段就忘记了,看上一段下一段又忘记了。找bug 自然会很痛苦,每次能排查的东西就那么一点。时间会很常。很多时候我们中间写了一个测试的语句,某个方法只写了一半就写其它地方了,运行得时候发现莫名其妙的问题,调试半天才发现是没写完或者有调试语句。所以记忆力非常重要,在代码还没写完就知道哪里还差什么,改起来会很快。
3. 通过现象分析和定位问题。只通过bug的表现方式就直接定位到了可能的地方,是属于bug 调试老手才具有的技能。别人要一点点调试,而又丰富经验的会根据bug表现出来的症状直接定位到那里的问题。别人花了30小时,自己花了1分钟不到就定位了。这个技能得慢慢培养,不着急。
4. 遇到非常怪异,非常不可思议的bug,自己都告诉自己不可能有这样的问题的时候,拿一只黄的鸭子,给鸭子一行行讲故事就可以了。
无论是新手还还是老手都会有bug的代码,重要的是心态和分析,一个bug 能吃人了?一堆bug 能吃掉你?平心静气一点点消灭掉就可以了,切忌急功近利,心态急躁,这样得不偿失。