做一個“20倍程序員”

以前有一個詞叫“十倍程序員”,形容一個程序員效率高,一個頂十個。

現在隨着ChatGPT的爆火,我覺得可以膽子大一點,改叫“二十倍程序員”。

我是一名十幾年的老程序員,最近在學習ChatGPT,也是ChatGPT的重度用戶,已經用上癮了。

接下來我分享一下的日常用法,大家看看是否能提高效率。

一、向ChatGPT提問

以前遇到問題,問人,看臉色;問百度,太多垃圾;問谷歌,要FQ;……

現在有問題直接問ChatGPT就行了,回答速度滿分,回答質量至少能及格。

舉幾個我平時提問的例子。

解決問題的提問:

你是MySQL的專家,請列出來5種最可能引起MySQL查詢慢的原因,以及相應的解決辦法。

你是MySQL的專家,我現在數據庫有一個表查詢很慢,單表數據量xxxx,查詢sql是xxxx,機器配置是xxxx,……,這種情況下,我應該如何優化。

輔助學習的提問:

我想學習Java,你需要告訴我最重要的20%知識,我只需學習這些重要知識,能夠讓我對該領域的80%有充分和紮實的理解。

我希望學習MySQL。作爲一個初學者,你需要給我定製一個爲期四周的學習計劃來啓動我的學習,以掌握這項技能。

模擬面試的提問:

我想讓你擔任Java工程師面試官。我將成爲候選人,你向我詢問Java工程師職位的面試問題。每次只問我一個問題,等待我回答。我回答之後,如果我回答的不好,我希望你做出解釋加強我的知識理解。你解釋完之後,就直接問出下一個問題。請問第一個問題吧。

輔助編程的提問:

你現在是一個Java專家,請編寫代碼,來實現集成微信支付的功能。注意:代碼中要包括足夠的註釋,方便我能看待代碼。

篇幅原因,就不一一列舉了,你們用的時候,可以拿我這些提問當模板,改改就能用了。

更詳細的提問技巧和例子,可以看我整理的《ChatGPT中文手冊大全》。

你可能覺得ChatGPT還是太通用了,對程序員的幫助還是有限。

OK,我再介紹幾款專業的AI工具,都是和程序員工作相關的。

二、編程相關的AI工具

有一說一,以下工具有的我用了,有的還沒來得及體驗。有代碼生成的,有提示代碼的,有自動生成文檔、測試的……

  1. GitHub Copilot:  讓AI和你一起結對編程。
  2. Tabnine:  根據上下文和語法,預測並建議您的下一行代碼。
  3. OpenAI Codex:  和ChatGPT是一家子,可以將自然語言翻譯成代碼。
  4. Amazon CodeWhisperer:  通過代碼生成、參考跟蹤和安全掃描來加速和增強軟件開發。
  5. Cursor:  由OpenAI提供技術支持的,AI代碼編輯器
  6. Httpie:  一種與API交互的新方式,使用自然語言創建請求。
  7. AI2Sql:  將自然語言生成快速、高效且無誤的SQL語句
  8. AI Query:  和樓上類似。
  9. Quest:  利用AI把設計生成ReactJS代碼。
  10. JamGPT:  報告一個bug,讓AI調試助手找出問題原因和解決方案。
  11. HeyCLI:  將自然語言翻譯爲終端命令。
  12. DocuWriter:  從源代碼生成代碼文檔、測試和優化。

前幾個如果沒用過,推薦大家試試。看看會不會讓你目瞪口呆。

三、提高學習效率的神器

程序員是一個要一直學習的行業。所以,對我們來說,學習效率很重要。

所以我再重點安利兩個學習神器:OpenAI Translator和chatPDF。

這兩個神器能幫我們解決看英文資料和看PDF的痛點。

1、OpenAI Translator

OpenAI Translator,一款基於GPT模型的翻譯軟件。

好用到什麼程度?

首先,它的翻譯讀起來非常順暢,我感覺很接近人翻譯了。

它還能把大篇幅英文的主要內容總結提煉成幾句話,甚至還能看得懂代碼。

這麼說吧,自從我用了它之後,幾乎就和谷歌翻譯說再見了。

咱們先看一下OpenAI Translator和其他翻譯軟件的翻譯對比。

我隨便在網上找了一段英文,用不同的軟件翻譯了一下。

第一個軟件的翻譯結果:

第二個軟件的翻譯:

第三個:

上面三個比起來,肉眼可見,第三個翻譯的更絲滑,看起來更順暢。
第三個就是OpenAI Translator翻譯的。前兩個分別是百度和Google翻譯的。

沒有對比就沒有傷害……

這麼好用的神器怎麼用?

OpenAI Translator可以從Chrome應用商店中安裝,網址:

下載安裝之後,點開瀏覽器“擴展程序”中的“OpenAI Translator”進行設置。

“默認服務提供商”有三個選型

我用的是“OpenAI”的方式。

“OpenAI”的方式,需要輸入OpenAI API密鑰。

除了密鑰,其他API模型、ULR、路徑的設置,我都是用默認的。

OpenAI API密鑰,可以打開這個地址(),登錄你的OpenAI賬號之後搞定。

以上就是最核心的設置,至於其他的設置,比如語言、自動翻譯等等,酌情就行。

總的來說,如果有OpenAI API密鑰的話,設置非常簡單。

設置完之後,刷新或者重新打開Chrome就可以使用了。

在網頁上選中英文,直接翻譯。

我用的時候,感覺翻譯的速度和質量都不錯,比我之前用的那些翻譯插件好用。

翻譯支持幾十種語言,其中居然還有粵語、古文、白話文……

值得一提的是,OpenAI Translator還有“總結”的功能,可以將一大段英文濃縮成幾句中文,這閱讀效率直接起飛。

如果遇到代碼,OpenAI Translator還能解釋代碼,簡直泰褲辣。

是不是下巴快驚掉了?

此外,它還有潤色、朗讀、識別圖片翻譯等功能。

OpenAI Translator除了可以在Chrome、Firefox瀏覽器上使用,還有桌面應用,支持Windows、macOS。

詳細的介紹和安裝方式,見它的GitHub:

2、ChatPDF

打開瀏覽器,訪問

然後把PDF直接拖到下圖那裏

我把阿里的Java開發手冊拖給它。

1分鐘之後,它就看完了,在網頁上輸出:

然後你就可以提問了。

我問:異常應該怎麼處理?

有點意思。

既告訴你內容在第多少頁,又幫你進行了總結。

第一次用,我有點不放心,親自去文檔裏看了看。發現ChatPDF總結的還可以,確實是文檔裏寫的,不過不是很全。這也不是大問題,你可以讓它繼續說。

我又問:文檔裏關於日誌的最佳實踐是什麼?

依舊發揮穩定。

我問它點新鮮的,不讓它查找和總結了。

給它挖個坑,我問:下面這個代碼命名符合文檔要求嗎:int 折扣 = 50%

行啊,這個回答讓我有點意外。

不但說命名不規範,還順手把幾處錯誤都糾正了:

  • 50% 改成了 50
  • “折扣” 改成了 discount

而且它說的理由和建議都挺嚴謹,666。

再考考它,學完這份文檔,看它能不能寫出代碼。

我問:看完這個文檔,你能不能幫忙寫一段java代碼例子,來說明一下如何正確的處理異常?

它的回答,圖太長沒截全:

如果我當年學Java的時候,有這工具就方便多了,得少踩多少坑。

接着我又問了許多關於PDF的問題:

  • 什麼情況下用switch?什麼情況下用if else
  • 按照文檔的要求,一個開發團隊,應該如何正確的實踐單元測試
  • 假設你是一位java專家,你看完這個文檔之後,你覺得什麼地方寫的不好?
  • 你說的“在異常處理規約中,可以提供一些常見的異常處理模式和反模式,並解釋它們爲什麼是好或壞的。”,你能提供一些模式和反模式嗎?
  • ……

就不一一截圖了。

總的來說:

  1. ChatPDF使用非常方便,瀏覽器直接使用。速度快,幾分鐘讀完一個PDF。
  2. 據我測試,影印版的PDF無效。
  3. 它的回答說不上有多驚豔,但是足以輔助我們學習了。
  4. 你可以給它英文PDF,然後用中文提問,它的回答也是中文(英文閱讀恐懼症患者的福音)。
  5. 它偶爾會開小差,說着說着中文就會蹦英文……不要緊,你對它說“說中文”就行了。
  6. ChatPDF可以免費用,但是有限制:PDF不能超過120頁,不能大於10M,每天最多3個PDF,每天最多問50次。如果不夠用可以付費,每月5刀。
  7. 可以用你電腦裏的PDF,也可以給它一個網上PDF的網址。
  8. ChatPDF的工作原理:先在PDF段落上創建語義索引。回答問題時,找到最相關的段落,並使用ChatGPT API生成答案。
  9. 目前它使用GPT3.5,將來有可能用GPT4。但是,我估計免費版還是用GPT3.5 ,因爲GPT4貴。
  10. 把PDF給它,安全嗎?據它說安全,它還說你可以永久安全。我建議機密的PDF還是注意點。

以上就是我分享的全部了,從ChatGPT提問到編程AI工具,再到學習效率神器,把這三塊內容學會了,詳細你的效率一定能提高很多。

總結一下吧。

作爲一個從業十幾年的老程序員+折騰ChatGPT幾個月新人,不得不說,ChatGPT這玩意是真強。

更強的是,它的出現帶來了一批新工具應用。

面對新事物,有人積極擁抱,有人焦慮被取代。

與其瞎焦慮,還不如利用它提高我們的效率,解放雙手,省出來的時間摸魚不香嗎。

我建了一個免費ChatGPT學習羣,在羣裏就可以免費使用ChatGPT,入羣掃碼:

希望ChatGPT能助你效率起飛、脫穎而出!

碼字不易,看完有幫助點個贊吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章