正确地使用搜索引擎是学习编程的必备技能

作者: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相提并论。

时间: 2024-10-31 16:29:22

正确地使用搜索引擎是学习编程的必备技能的相关文章

初学者学习编程,如何训练自己的编程思维,资深程序员这样建议

近给大家讲了一堂关于初学者如何从零基础到就业正确的学习步骤,在课堂中我提过两点困难是初学者最大的问题,其中一个问题就是学了后面忘了前面的问题,还有一个最重要的问题就是编程思维.今天主要给大家讲一下初学者学习编程,如何更好的去提升自己的编程思维. 首先我们要明白一点,我们学习编程到底在学习什么?并不是单纯的只是学某个语言的语法,而是编程思维.只有掌握了正当的编程思维,我们才能真正去应对这个语言所出现的问题.才能把这个语言相关的编程题用代码实现出来,用计算机编程思维去思考问题,而不是在学习死知. 什

TensorFlow【机器学习】:如何正确的掌握Google深度学习框架TensorFlow(第二代分布式机器学习系统)?

本文标签:   机器学习 TensorFlow Google深度学习框架 分布式机器学习 唐源 VGG REST   服务器 自 2015 年底开源到如今更快.更灵活.更方便的 1.0 版本正式发布,由 Google 推出的第二代分布式机器学习系统 TensorFlow一直在为我们带来惊喜,一方面是技术层面持续的迭代演进,从分布式版本.服务框架 TensorFlow Serving.上层封装 TF.Learn 到 Windows 支持.JIT 编译器 XLA.动态计算图框架 Fold 等,以及

“在什么时候学习编程才合适?”

40岁后学习编程是否太晚了?7点技巧让学习变得轻松有趣 很多人经常会问:“在什么时候学习编程才合适?”,甚至有很多在职场中打滚了多年的人也会有这样的疑问.他们当中有很多人都想把自己的专业跳到编程专业,原因是多方面的,其中包括了他们对自动化的畏惧,而这个问题在40岁以上的人群中变得更具针对性. 编程是一项很花脑力.精力的高压工作,在40岁后才开始学习编程,是不是太晚了? Damian Wolf给出的答案是“不会晚”!Damian是InfoWorld,DZone,Life Hack等多家数字科技杂志

码农-如果当初学习编程时能有人给我这些忠告该多好

在你学习编程之前思考一下你的目标 要知道编程大多时候就是在创造,当你有最终目标感时道路会更加的清晰.如果你的目标是"学习编程"而不是更具体的学习哪种程序及如何让你的生活更好,那么你可能会发现这不过是一次令人沮丧的实践. 我有点惭愧地承认我学习计算机科学的部分动机是为了证明我聪明,及我想干"聪明人"的工作.我也喜欢思考数学和理论(<哥德尔.艾舍尔.巴赫:集异璧之大成 >这本书在我易受影响的年纪进入了我的脑海),编程是一个不错的选择.当然这并不足以使我坚持这

40岁后学习编程是否太晚了?7点技巧让学习变得轻松有趣

很多人经常会问:“在什么时候学习编程才合适?”,甚至有很多在职场中打滚了多年的人也会有这样的疑问.他们当中有很多人都想把自己的专业跳到编程专业,原因是多方面的,其中包括了他们对自动化的畏惧,而这个问题在40岁以上的人群中变得更具针对性. 编程是一项很花脑力.精力的高压工作,在40岁后才开始学习编程,是不是太晚了? Damian Wolf给出的答案是“不会晚”!Damian是InfoWorld,DZone,Life Hack等多家数字科技杂志媒体的专栏作家,他本人也是一个科技迷,也正在想学习编程.

学习编程的路该怎么走?

网上看到有人问:自学javase也有段时间了,看过些基础视屏,但是现在自己还是什么都不会,一点方向也没有!之前发过贴也说过这个问题,很多前辈知道说去做小项目,可是自己在网上找的那些小项目,源码都看的稀里糊涂的! 以下是我的回复 从看到你的问题,我就在想怎么说明白这件事. 有的人真心想帮像你这样的人, 但并不知道怎么明白告诉你,给你指明白这条路. 像我这样的人都是第一天摸到电脑编程就兴奋得要死, 发现电脑能以另一种方法解决"课堂上学习数学时面对抽象符号不容易理解"的问题, 兴奋得每天都在

如何快而好的学习编程

作者:刘铁猛    编辑:张·布兰登   翻译:九幽科技 当我写这个话题的时候,我感觉我正在和整个世界对话,就像我在写我的第一个程序“Hello,World”.希望这个话题可以帮助那些想学编程的人(包括你自己)获得一个良好的开端. 关于我 我的名字叫刘铁猛,如果你愿意可以叫我蒂姆.当我在大学的时候,才开始学习计算机编程,在此之前,电脑对我来说就仅仅是一台打印机或者游戏机.但是,当我开始编程,三个因素使我在计算机领域中受益匪浅.分别是: 1.相当迅速地打字 2.知道一些磁盘操作系统命令,并且知道一

零基础如何学习编程

零基础如何学习编程 心得笔记 自学编程2年来,加过n多群,泡过n多论坛,接触过心怀激情的编程新人,遇到过沉着冷静的技术大牛--编程,吸引了一批又一批的热血青年,或许是为了理想,或许是心中的爱好,不断有新人的加入,也不断有人从编程中退出.编程的入场入口只有一个,出场的出口却很多.自学编程的新人,有很大一部分卡在了入门上,对此,我想写下对编程入门的一些拙见,权当抛砖引玉,或对或错,还望同学们自己鉴定.1.零基础,打算自学编程,应具备哪些的知识?答:对于入门阶段,对知识水平的要求并不算高,或者说很低,

程序员学习编程需要攻克的8个障碍

大多数学习者同样碰到过相同的障碍,但是,一旦克服了这些壁垒,那么好处立马就来: 更享受学习经历 进步更快 碰到难题更执着,不轻言放弃 写代码时更独立 那么,这些障碍究竟是什么呢,我们又该如何攻克它们? 1.不正确的学习动机 在谈及壁垒之前,我想先着重说明学习动机的重要性.不要只是为了编程而学编程,也不要因为听说它很酷,很划得来就来学编程. 你得因为要解决问题而学习编程,你得因为想要自动化和改善生活而学习编程,你得因为想要构建应用程序以造福社会来学习编程. 如果你只是喜欢编程,并希望以此作为职业的