首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

代码诊断从入门到精通

今天来聊聊如何高效率地进行代码诊断。之所以分享这个话题,是因为经常有小伙伴写代码一遇到问题,就截个图发给我,问我是什么问题,然而大多数情况都不是什么疑难杂症,说白了都是靠搜索引擎就能解决的问题。为了节省大家的排错时间,提高编程效率,今天就来讲讲如何高效率地进行代码诊断。

首先,要调整好心态。遇到问题首先要做的是冷静下来,不要乱了阵脚。记得我刚入行的时候,带我的前辈经常说的一句话就是:不是谁都有这么好的运气可以遇到这么多问题的。在解决问题的过程中,可以使你注意到之前忽略的细节,甚至可以让你发现自己的知识盲区,同时也是一个积累经验的过程,说白了在编程这一行,高级工程师相比初级工程师的优势最重要的一点就是经验了,而在错误中吸取的经验要比书本上的理论知识更多价值。所以从这个角度来看,遇到问题也不是什么坏事,也没什么好慌张的。

调整好心态后,就要开始排错了,第一步应该从最简单的地方入手,比如看看运行环境是否正常,网络是不是通畅,磁盘设备有没有出现异常,参数格式会不会错误等等。具体要从哪个方面查起,需要一定的经验跟直觉,如果你的工程是web工程,那么网络、环境等都是需要排查的。

其次,要学会看异常信息。很多时候错误原因已经在异常信息里面写的很清楚了。只要细心一些,循着异常堆栈追查下去,一般来讲大多数问题就都迎刃而解了。

如果还是看不出来是什么问题,那么可以查看日志或者打断点看看代码的执行过程是怎样的。关于日志信息,比较重要的几点一定要有,比如类名、行号、异常堆栈等,特别是当在生产环境上出现问题时,完善且清晰的日志可以节省你大量的排错时间。

如果到了这一步还是不能发现问题,那就要问问搜索引擎了。基本上我们碰到的问题90%以上都是别人遇到过的,其中90%以上的问题都可以通过搜索引擎找到解决方案。当然,使用搜索引擎也是有技巧的。可以多试几个关键词,或者多个关键词组合起来,在关键词前面加上使用场景、环境、框架、软件版本等信息也能提高搜索命中率。中文的搜不到就试下英文的,百度搜不到就试下谷歌。到了这一步应该80%以上的问题都能解决了。

如果你运气比较好,试了上面这些方法都还没能解决问题,那么就要从其他渠道去寻求解决方案了。比如去专业的问答网站stack overflow搜索下,看看有没有类似的案例可供借鉴。如果你用的开源项目,那么可以到github的项目主页看看有没有人反馈过类似的问题。如果你用的是企业产品,那么可以咨询该产品的技术支持人员以寻求帮助。

以上这些方法基本上可以解决90%以上的问题了。剩下的10%的问题就要通过阅读源码或者请教他人去解决了。当然,提问题也是一门学问,如何高效率地提问题,下次再分享。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180617G08ZXH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券