title: 程序员新人怎样在复杂代码中找bug？
desc: 快毕业的通信学生，之前正式代码经验几乎零。目前在已经给Offer的公司实习安卓开发。Mentor说先从找code base中bug开始。但是我感觉我们的codebase好复杂，这几天突然没什么进展。uml之类的也画了不少。想问问前辈们有什么建议？<br><br>update：<br>感谢各位分享自己的经验。这段时间略有进展，就来说说自己的体会吧。<br>1首先，我是很认同mentor让我从修bug开始慢慢掌握codebase的。那些对这个有质疑的前辈们估计是觉得我们的codebase有很大吧。如果codebase到G级我也不会认同从bug入手的。<br>2耐心是第一位的。最初的作者都不在，所以想找他们聊也不可能，其他人有的忙，有的又不能对所有细节清楚，所以资源有限情况下特别有抵触情绪。这个真得压制好。<br>3之前一位大神说过我很认同的话：国内程序员都喜欢系统掌握再去使用，而快速掌握并使用的能力欠缺。我在自己身上感受特别身，也是一直下意识去突破这种不足。<br>4但是有些细节真的要掌握清楚，比如framework中并不特别明显（由framework本身“自动管理”）的代码。这个栗子比如android中adapter的重复利用view。在自己的code中很难跟出来。5或许能跟出来，但这不是新人嘛，工具和技能都不够熟。所以同时新人的同学们要好好注意自己的工具是真。<br><br>最后特别感谢大家热心回答，依然期待各种新手老鸟来说说你们的看法。
topic: 程序员
content: 小黄鸭调试法：随身携带一只小黄鸭，在调试代码的时候会在桌上放上这只小黄鸭，然后详细地向鸭子解释每行代码。
answerer_tags: 事出反常必有妖