作者:Crossin
链接:http://www.zhihu.com/question/28017993/answer/83821668
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
如果你是一个刚刚成为或者想要成为程序员的人,首先你应当认识到:
正确地使用搜索引擎是学习编程的必备技能
一些搜索引擎使用技巧和意识:
用 google 作为你的默认搜索引擎
google 是目前这个星球上最好用的搜索引擎,没有之一。按理说,在开放的互联网上,有一个最好用的产品,你没有理由不去用它,而要勉强于其他拙劣的替代产品。然而因为一些众所周知的不宜在公开场合讨论的原因,你可能不得不选择一些名声不那么好的搜索引擎。
所以,如果你立志成为一名程序员,那么为了更好地get“搜索”这项必备技能,首先还得获取另一项不宜在公开场合讨论的技能。这就不是我们今天要讨论的了。
选择合适的搜索关键词
提出一个好问题,本身就对解决这个问题起了很大的帮助。选择搜索关键词也是一样。如果你只是用“我安装python为什么不成功”、“运行python的时候报错”这样空泛的大白话去搜索,天知道这要怎么解决……
- 用关键词,而不是整个句子
虽然现在的搜索引擎已经在语义分析和分词上做得相当成熟了,但还是建议用关键词来描述你的问题,这样可以使你的问题更加具体和精准。通常,用空格分割的1~3个关键词,可以比较得到比较好的搜索结果。
- 直接使用报错信息搜索
如果你是在为你的程序无法运行而寻找解决方案,那么直接使用报错提示信息进行搜索是最好的选择。一般来说,代码异常,都会输出异常的类型和位置,而应用软件的错误甚至还会提供对应的错误码,以便于定位和解决问题。用这些信息去搜索,比你用自然语言描述错误现象要精准几百倍。
- 添加范围限定的关键词,缩小搜索范围
比如你要搜索python相关的一个问题,那么在你的关键词里加上python会好过直接搜索你的具体问题。比如你想了解Requests模块的具体用法,如果不加上python,则很难找到你要的信息。更进一步,如果你清楚你的问题是django方面的,那么直接加上django关键字会比加python更有效。但要注意,你得分清你的问题属于哪个范围。如果是因为你的数据库和你操作系统不兼容而导致的问题,你却一直用python关键字进行搜索,那就跑偏了。
- 避免引入歧义
有的时候,你会发现你搜索的关键词会导向一个被热议的问题,但你确信这个问题并不是你想要的。这时候宁可放弃这个会导致歧义的关键词。当然还有另外的解决方法,稍后我会提到。
还有时候,歧义是因为你错误的推测而带来,比如上个例子中的“python”导致查不到数据库的问题。所以在搜索过程中,你需要根据情况调整你的关键词。
- 逐步修正关键词
复杂的问题往往无法一蹴而就地解决。搜索的过程也是一个反复思考的过程,需要通过已有的结果推断和修正,最终达到目标。
分辨搜索结果的质量
最近一段时间,国内某知名搜索引擎被众人口诛笔伐,对于搜索结果的排名和误导也是其中一条罪状。虽然搜索编程相关的资料不太至于让你上当受骗,但搜索结果的质量还是有可能影响到你的学习。可能你下载到的软件不是官方正版,而是被植入了木马病毒的版本。也可能你轻信了投放推广的培训机构,去上了一个糟糕的培训课程。更多的情况是,搜索出的结果里,有很多无效的、重复的甚至错误的内容,耽误你的时间,误导你的方向。
鉴于此,如果你无法选择更好的搜索引擎,那我只能建议你,认真分辨搜索结果的质量。要对搜索结果保持怀疑的态度,不要只迷信排名靠前的结果,它们可能是推广(注意点看,一般搜索引擎都有标注),也可能是做过一些排名优化,或者仅仅是运气好排到了前面。下载软件包尽量去官方的网站,查阅资料尽量选择官方的文档。另外,独立技术博客的质量要高于那种挂满小广告的资源站。
对于编程方面的问题来说,还有种选择是直接去相关的网站进行搜索。这里强烈推荐又一个程序员的必备工具:StackOverflow。
多次有人问我,英语不好能不能编程。我的回答是,可以,但你会错过很多好东西。
比如这时候,你就只能去用中文同类网站,但在内容上肯定无法与StackOverflow相提并论。