Categories
程式開發

新手程序员怎么在复杂的代码中寻找 bug ? | 话题


在知乎上有一个五六年前的问题,但放到现在仍不过时:

快毕业的通信学生,之前正式代码经验几乎零。目前在已经给Offer的公司实习安卓开发。Mentor说先从找code base中bug开始。但是我感觉我们的codebase好复杂,这几天突然没什么进展。uml之类的也画了不少。想问问前辈们有什么建议?

有网友分享了自己的经验:

1、理解bug关联的业务和逻辑;
2、如果能够debug,用debug观察代码流程;
3、观察软件的log,理解代码流程;
4、加入自己的log,观察流程;
5、尽快解决问题(搞得定才有发展);
6、测试你的解决办法会不会引发新的bug(在此过程中可以了解关联业务和逻辑);
7、回顾你在解决bug过程中看到的业务、逻辑、代码、设计,继续读源码、文档,争取以点带面,了解更多。

让新人从寻找并修改bug做起,一方面是为了让其熟悉代码,熟悉项目;另一方面是因为寻找并修改bug对于新人来说是一个很重要的学习过程,例如哪些类参与了某条执行路线,相互调用关系如何,结构设计上有哪些特点或不足。

你刚接触代码时是如何找 bug 的呢?你有哪些经验可以分享给新人呢?欢迎在下方留言区分享你的看法。