程序员的基础生存技能:高效用Google

来源: GavinZhang( @GavinBuildSomething )
链接:http://guoze.me/2016/06/26/how-to-google/

如果票选近二十年最伟大的发明,我相信搜索引擎肯定会占据一个不容小觑的位置,它不单是一项发明,更是一项成就,最大程度消灭了信息的不平等。既然人人都可以接触到海量的信息,那么衡量信息财富多寡就只剩下技巧这惟一的标准了:善用搜索引擎的都是信息时代的富翁,不懂搜索引擎的都是信息时代的负翁。

而像程序员这种必须终生学习的职业,搜索引擎就是我们的左膀右臂。懂搜索引擎就是我们的基本功,不,应该是童子功。只是大部分新手都在过分粗放的使用搜索引擎,而花几分钟时间了解搜索引擎的技巧和语法,就能让自己的信息财富来一个大跃进,不也是一笔划算的买卖么。

而对于技术类问题的检索,谷歌的表现水准无疑要甩百度几条街;所以善用搜索引擎的第一条原则必然是:一如既往毫不犹豫百折不挠的使用Google。而对于一名程序员来说,保证自己随时随地能访问Google,是最最基本的技能,哪怕花费少许金钱也是物超所值。那么以下就撇开百度、专门讲讲使用Google的小贴士。

完整匹配

在Google的输入框里,所有的空格都被理解为加号。如果你输入的是mysql foreign key,那么返回的搜索结果里也许既有mysql存在,也有foreign key存在,但不一定有mysql foreign key存在。另外,过分常用的、单独存在没有意义的词汇往往被忽略掉,比如the/a/that等等。

如果你想要找含有mysql foreign key这个词组的文章,那么你必须在搜索词前后加上引号,输入”mysql foreign key”,不管你输入的时候使用的是全角字符(“或者”)还是半角字符(”),Google都照样能够正确处理。这就是引号的作用:返回完整匹配的结果。

筛选

为了进一步筛选搜索结果,还需要学会另外一个符号 — 减号(-)。比如,”mysql foreign key” - “nodejs”就要求Google返回含有mysql foreign key但不存在nodejs的文章。

通配符

另外一个程序员耳熟能详的符号是正则里最常露脸的星号,看到星号就下意识的想到通配符,在Google的搜索规则中也是如此,输入”mysql connect error *”就会返回所有已知的关于MySQL连接错误的文章。

站内搜索

最后推荐一个威力无穷的语法,让你有机会再对搜索结果做一次筛选。比如针对程序员查bug,stackoverflow是我个人觉得可信度最高也最全面的一个网站,所以我就经常使用site的魔法,像”mysql foreign key” site:stackoverflow.com就会返回对应网站内所有关于mysql foreign key的文章。

语言和日期

像2shou叔这种英语阅读能力不过关的人,遇到急事就不能一篇篇翻原版文档了,不得不求助国内的二手货;这时,Google界面上的一个小按钮就帮上大忙了:点击搜索工具 - 不限语言,下拉选择所有简体中文网页,一下子就回到了祖国母亲的怀抱。有时用新出的库版本,别忘了隔壁那个不限日期按钮,可以帮你找到最最新鲜的技术文章。

Tab,以及宅男福利

只限Chrome的一招:输入某个网址,再点击Tab,会能直接使用这个站点的站内搜索了,比别人快个几秒,关键时刻也很管用不是么。

最后留个福利吧,曾经被人偷偷问过,谷歌的安全搜索怎么关闭;网上有一些繁复的攻略,对我们程序员,搜索网址加个参数:&safe=off,一招就可日天。

祝大家Google快乐。

程序员10大职业生存技巧 1. 你是最棒的 要相信自己是最棒的程序员,充满自信。随着时间的推移,你的崇拜者会越来越多。别担心会出洋相,IT这一行是如此复杂,你完全可以把皮球踢给别人。 2. 你的代码就代表你 如果有同事在的代码中发现了bug,首先要承认自己的错误——哪怕只是因为键盘多按了一下。事后问问他们是不是对你个人有所意见。 3. 把编程大招当做最高机密 这种编程大招你知道得越多,那么在同行中你的地位就越高。多多使用自己的魔法大招,但是要记得千万不可黔驴技穷。还有一点:不要偷学别人的招数,也不要自降身份。 4. 兰博心态 那种一夜就能独力编写出新软件组件的开发人员都是“兰博”——孤胆英雄。不必费心去理会代码审查系统和结对编程。需要搞这些的都是新手,它们只会毁掉你的声誉。 5. 知识就是力量 让那些不如你的人知道你的优势。提点他们,有导师就最好。 6. 快鱼吃慢鱼 要是你还认为像“龟兔赛跑”里的乌龟靠缓慢而持续的速度能赢得比赛,那你就输定了。越快搞定新软件的组件开发,成功的概率就越大。不要在一些如模块化、灵活性和可维护性等事情上浪费时间——如果因为需求不同,必须考虑这些问题,那也不是你的错。 7. 权威性与编程无关 权威源于你的公司地位,和你的编程能力无关。当你终于从普通的开发人员熬成团队负责人或者项目经理,你最先要考虑再也不是你能否跟上大家的编程速度。 8. 不接受失败 失败永远都不是我们的选项。如果你的想法在小组会议上被驳倒,设计一个完美又顶级的破坏和怠工活动,如果刚好出现问题的话,那你就可以得意洋洋地宣布了:“我早就说过会这样!” 9. 要多和同部门的人增进感情 不要老是去其他部门办公室,否则你的同事会给你打上“叛徒”的标签。无论如何,比起自己部门的精英人士,其他部门开发人员所能给予的帮助非常有限。 10.将bug当做机会 有些特别爱好评点他人错误的批判者一看到代码中的bug就兴高采烈。试着用类似“典型错误、变量名又混淆了!”等巧妙的话语搪塞过去。 最后,我要告诫大家,不要累死累活全身心地奉献给团队,最后还吃力不讨好。如果有人拿着Gerald M. Weinberg的《无我编程10戒律》来反驳,那我可以告诉你,这玩意写于1971年,早就完全out了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值