在搜索问题之前要做什么

这应该是每个程序员每天看到最多的图片了。

这就是程序出Bug了。


先把问题看懂

办公室小明刚来的时候,遇到bug经常来询问我这个老员工,让我去帮他解决,久而久之,发现他出现的问题很多都是重复的,前两天刚出现的问题,今天又来找我去帮他解决。他再来找我的时候,我就问他出了什么问题,他说“我也不太清楚,你过来看一下吧。”,原来每次出Bug的时候,他都不去仔细分析问题提示,所以相同的问题再出现的时候也不知道。

程序出bug时编译器给出的错误信息,但大部分编译器的提示都是英文的(汉化的除外,比如vs),很多人就不愿意去仔细分析错误信息具体是什么,或者说粗略一看而理解错了。然后就直接找人帮忙,或者直接把错误提示拷贝到搜索引擎里,大部分的问题都可以用这种方式解决,而这种简单解决问题的方式又使得很多人不愿意去费力理解问题本身,所以导致问题错误出现时,很多人甚至没有发现这是重复的问题。

先分析问题,这必须是解决问题的第一步。


先思考,后搜索

借用一张网上的神图

如果仅仅是看懂了问题,还是不够的。就像写代码一样,很多人把问题复制进搜索引擎,然后将搜索到的结果粘贴在代码里,问题可能就解决了。然而这种做法只是进行了体力劳动,并没有进行脑力劳动。在查询或者向别人请教之前,要先独立思考这个问题,当确定在自己的能力之外后,再寻求帮助,但同样要对得到的结果进行分析,以发现自己技能和思维上的不足。

真正的经验是不断思考出来的。


用谷歌,不要用百度

这一点很多人提过,大部分也都知道,但最终也没有多少人能做到。在编程世界里,百度和谷歌的距离,就像中国和美国的距离,中间隔着一个太平洋。Google查询最大的优势是,会给你搜stackoverflow的结果,github的issue讨论等,这些百度直接屏蔽了。

差距其实很简单就能看出来,比如在百度中输入一个C++或者Python,第一条都是某某学习网,某某培训班,在谷歌中搜索,它会直接给你该语言的官网,当搜索一个问题,百度经常像是大海捞针,需要从查询结果中去找自己的答案,而且前几条总是重复的,基本上都是相互转载的结果,在谷歌中只要搜索关键字别差太远,一般会搜到想要的,而且不光能解决问题,还能告诉你为什么。还有一点是,其实国内很多优秀的技术文章或者思路都是从英语翻译过来的,但往往翻译的不够准确,或者不完整。举个例子,大学的时候在百度搜 jquery mobile,我印象中搜索结果最多不超过2页,而 google 上资料已经非常全了。

当然google查询结果是需要花点时间去翻译了,但同时,使用google也意味着:能限制获得知识的唯一障碍就是自己的求知欲。


问题总结

对于程序员来讲,Bug是绝佳的学习机会。每当修复一个棘手或有趣的 bug时,都应该花几分钟写下一些这个 bug 的信息和相关的总结。不断创造问题,解决问题,然后总结问题,这就是学习编程的过程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,252评论 25 709
  • 炎热的海边,午后 我在木椅上看一本舍不得看完的书 你在远处的吧台里忙 我们中间是咖啡厅纷纷扰扰的人群 慢慢困意压下...
    杨树_Annie_Young阅读 1,855评论 2 1
  • 1、在使用JSONObject时要注意,如果json字符串里没有属性,getString它就会抛出异常,如果不能确...
    coolchun阅读 1,616评论 0 0

友情链接更多精彩内容