英文原文:Become a Better Programmer by Mastering Google
現(xiàn)在的編程很大程度上依賴你是否擅長利用 Google。你想實現(xiàn)的代碼,99% 的可能是別人已經(jīng)實現(xiàn)過了的,并且放到了 Stack Overflow 或 Github 上。開發(fā)人員的辦公桌上也不再需要一大疊教科書:相反,我們只需要將疑問鍵入到搜索框中,寄希望于它顯示在第一頁的 9 個搜索結(jié)果中即可。
很多很多人沒有意識到的是,Google 在這里扮演了非常重要的角色。正如我們已經(jīng)著迷于使用鍵盤快捷鍵來提高編碼的速度和敏捷性,但是,有許多命令選擇可以讓你的 Google 小助手達到一個新的水平。下面我們就要介紹開發(fā)人員是如何最佳使用其中一些命令的。
精確短語搜索
如果用引號封裝部分或全部的搜索內(nèi)容,那么 Google 將對輸入的短語進行精確搜索,不像它平常單獨搜索詞語那樣。這是我在 Google 上最常用的 go-to 冪函數(shù)。
這對于開發(fā)人員搜索異常字符串時,真的非常有用。如果你確定你想要一個沒有方差的精確異常,那么這可以剔除掉結(jié)果中令人討厭的部分。
舉例
"Failed to parse configuration at: logging.appenders.[0]" mvn assembly plugin
括號中的內(nèi)容就是具體的異常文本,后面是我拋出的相關(guān)特定條件以幫助精確搜索。
排除條件
在我們小小的編程世界中有很多重疊的部分。相似名稱的項目,以及反復(fù)使用的術(shù)語可以使得梳理搜索結(jié)果時,變得令人非常沮喪。然而要想排除一些搜索結(jié)果也非常容易:只需在單詞前添加一個“ – ”符號。
舉例
Spark Java -Apache
在 Java 中很煩人的一件事就是有 sparkjava 和 Apache Spark。如果只想搜索前者,那么通過“-Apache”可以輕松刪除所有基于 Apache 的結(jié)果。
相關(guān)條件
想知道對于某一種技術(shù)的替代品是什么嗎?那么就需要相關(guān)關(guān)鍵字的支持。給出一個 URL,然后它會返回具有類似內(nèi)容的網(wǎng)站。在實踐中,我發(fā)現(xiàn)它在尋找替代技術(shù)、替代框架,或找一些附加的和兼容的東西時,很有用。
舉例
related:mongodb.org

現(xiàn)在我們就有很多類似的和可替代 MongoDB 的 NoSQL 數(shù)據(jù)庫了。
文件類型
你知道你可以在 Google 中強制你想要搜索的文件類型嗎?這在尋找可打印的備忘時,真的很有用,因為你可以指定 PDF 文件,雖然它可以應(yīng)用于大量的搜索。
舉例
IntelliJ shortcuts filetype:PDF

站內(nèi)搜索
我經(jīng)常發(fā)現(xiàn)搜索一個網(wǎng)站或一個論壇是可怕的。幸運的是,Google 允許避免這樣的情況。你可以指定 Google 搜索一個網(wǎng)站或一個子域。
舉例
intellij shortcuts site:stackoverflow.com
延伸!從 Chrom 直接搜索網(wǎng)站
Chrome 瀏覽器支持自定義的搜索引擎。非常強大,特別是如果你總是要搜索某個網(wǎng)站,例如 StackOverflow 的話。
首先,右鍵單擊地址欄,然后選擇 Edit Search Engines(修改搜索引擎)。

在出現(xiàn)的對話框中,滾動到“Other Search Engines(其他搜索引擎)”的底部。假設(shè)我們要增加對 Stack Overflow 的支持。首先,我們要將“Stack Overflow”作為引擎的名稱。第二步,我們需要快捷方式:啟用后,我們將此輸入到地址欄,確定這就是我們要使用的引擎。我設(shè)置的快捷方式是“so”。然后,我們需要一個網(wǎng)址,在這個網(wǎng)址中我將用%s替換搜索條件。如果我們用 Stack Overflow 做一個示例搜索,檢查 URL,我們就可以看到哪里用%s替換條件:

用%s替換條件之后,就是 http://www.stackoverflow.com/search?q=%s。然后是第三步。點擊完成,你的引擎就設(shè)置好了。
在地址欄中鍵入“so”,然后按空格鍵。Chrome 就會自動告訴你,你可以搜索 Stack Overflow。