点击上方“嵌入式Linux充电站”,选择“置顶/星标公众号”
福利干货,第一时间送达为什么会有很多人每天加班,还是解决不了bug?
有人一天解决,有人一周解决,有人解决不了,这就是彼此之间的差距。
找到问题,才是解决问题的第一步
很多人在遇到bug时,第一反应就是着急解决问题,想着能规避就规避,但殊不知,你连问题在哪都不知道。找到问题在哪,是解决bug的第一步也是最重要的。通常来说主要就是跟代码,但很多人跟代码,都喜欢只跟表面,稍微深一点都不愿意继续跟了。也许不是代码问题,但通过跟代码,你也能排除一些可能性。除了代码上,很多人就不会想别的可能性了,这也导致了找不到问题。例如编译有没有问题?库有没有问题?内核有没有问题等等。要能够想到一些可能性,而不是认定就是代码问题。

这些你不愿意干的事情,也许就是问题所在,但就是因为你嫌麻烦,不愿尝试,导致一直定位不到问题,解决不了问题。

因为很多程序员,都只会基于自己的工作内容去掌握所需知识,工作没用上的,自然不会去学习,更不会去总结归纳。而拥有知识体系的人,对于每个知识点都会做笔记,也善于做调试记录并且归类,形成一个属于自己的知识体系。在解决bug时,他们清楚地知道这个问题属于哪个知识点,也能清楚地列举可能造成该问题的几种原因。而通常解决掉bug,原因就在他列举这几种可能性之中。解bug期间会根据自己的知识体系,顺利地排除几种可能,最终解决bug。解完bug的同时,又给自己的知识体系新增一项知识/经验,每一步稳扎稳打,这才是有能力的人。
而没有自己知识体系的人,也就是不做笔记,不总结的人,当再次遇到类似问题时,他们就只能干想,只能抱怨:我记得之前我遇到过,是什么原因来着?怎么解决来着?这相当于从头再来。而有自己知识体系的人,即便某个bug已经过去了很久,他只要稍微翻阅一下笔记,就能快速回忆起来,因为这是自己的东西。所以,也就有了:“你的三年,还不如人家一年。”
end
往期推荐