自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

寫代碼效率不高?放過Ctrl C 和 V,讓AI來幫你寫代碼吧

人工智能
做為程序員,不知道你有沒有想像過,如果某天,不再需要面向Google、Stackoverflow編程,不再需要Ctrl + C 和 Ctrl + V,你在IDE里敲出某個編程語言的關(guān)鍵詞時,像導(dǎo)航一樣,下一步的代碼就已經(jīng)展現(xiàn)出來;

[[355638]]

做為程序員,不知道你有沒有想像過,如果某天,不再需要面向Google、Stackoverflow編程,不再需要Ctrl + C 和 Ctrl + V,你在IDE里敲出某個編程語言的關(guān)鍵詞時,像導(dǎo)航一樣,下一步的代碼就已經(jīng)展現(xiàn)出來。

做為程序員,不知道你有沒有想像過,如果某天,簡單說幾句話,或者簡短寫幾句,就能夠?qū)崿F(xiàn)你的需求,完成代碼開發(fā)。談笑間,bug 灰飛煙滅。一切盡在彈指一揮間。

做為程序員,不知道你有沒有想像過,如果某天,寫程序也能有個智能的助手,像出行、購物一樣,告訴你哪個API調(diào)用的人更多,他們是怎么用的。

那樣就會空出大量的時間,去做代碼之外,其它你想做的事情。當(dāng)然,你也可以接更多的需求,寫更多的代碼嘛 :-)

這樣的情況你有沒有想過?

關(guān)于程序員,有個調(diào)侃的笑話,大意是這樣的:

一個程序員,技術(shù)水平一般,經(jīng)常寫代碼到很晚,bug 還多。他的女朋友很是心疼。后來一段時間,這哥們發(fā)現(xiàn),前一天晚上遺留bug的代碼,第二天在公司運行一切正常。太驚訝了。某天半夜醒來忽然發(fā)現(xiàn),他女朋友在電腦上幫他改bug...

看到能寫代碼改bug的女朋友,是不是讓前面的想法更強烈了?

夢想還是要有的,萬一實現(xiàn)了呢?

這不,說著說著它就來了。迎面走來的就是我們今天要說的「寫代碼小助手」,「AI代碼小能手」,無所謂怎么稱呼了,你開心叫它大黃也行。

進入視線的就是它 Codota:

1. 安裝

在IDEA的插件列表里搜索一下,你一定會注意到開頭介紹里的那句「AI code completions」。

當(dāng)然,在其它的IDE里也大概類似,畢竟人家的口號是「AI Code Autocomplete for All Languages and IDEs」,劃重點,所有的語言和IDE。

具體有什么本領(lǐng),就讓它來讓兩步,出來溜溜吧。

插件安裝之后,在編寫代碼時的提示列表里會多出來許多淺綠色的,這是 Codota的內(nèi)容。

2. 使用

官方功能介紹的視頻里,是以JDBC為例,除了這種API的調(diào)用提示外,還有常用代碼片段自動生成,要不人家口號也不敢喊那么響。

比如你在IDE里剛寫了個 File ,他會詢問你想干啥。

比如常用的文件拷貝、內(nèi)容壓縮等等。如果選擇了copyFile這個,下面的這一段代碼就生成好了。

  1. try (FileInputStream fis = new FileInputStream(srcFile); 
  2.            FileOutputStream fos = new FileOutputStream(dstFile)) { 
  3.             int len; 
  4.             byte[] buffer = new byte[4096]; 
  5.             while ((len = fis.read(buffer)) > 0) { 
  6.                 fos.write(buffer, 0, len); 
  7.             } 
  8.         } catch (IOException e) { 
  9.             // ... handle IO exception 
  10.         } 

這下知道為啥人家口號喊的響的原因了吧。

另外,你有沒有注意到,在提示的列表里,F(xiàn)ileOutputStream 和 FileWriter 這兩項后面的數(shù)字。這也是除了自動補全之外稱為AI的能力,畢竟還大數(shù)據(jù)分析了嘛。

特別是對于多個外部項目依賴時,如果重名了,該用哪個,大數(shù)據(jù)告訴你,更多人的選擇是誰。

比如要通過Http請求個資源,除了要用Get/Post,構(gòu)造Entity,拼接URL,還要干啥來著,摸了一把日漸稀少的頭發(fā),寫下了HttpClient,一回頭,IDE里早提示了:

那就Post吧,隨著下方向鍵和一聲Enter的大力敲擊,這段代碼就出現(xiàn)了:

  1. try { 
  2.             HttpPost httpPost = new HttpPost("https://example.com"); 
  3.             httpPost.setEntity(new StringEntity("{\"key\": \"value\"}", ContentType.APPLICATION_JSON)); 
  4.             String responseBody = httpClient.execute(httpPost, httpResponse -> { 
  5.                 int status = httpResponse.getStatusLine().getStatusCode(); 
  6.                 if (status < 200 || status >= 300) { 
  7.                     // ... handle unsuccessful request 
  8.                 } 
  9.                 HttpEntity entity = httpResponse.getEntity(); 
  10.                 return entity != null ? EntityUtils.toString(entity) : null
  11.             }); 
  12.             // ... do something with response            
  13.         } catch (IOException e) { 
  14.             // ... handle IO exception 
  15.         } 

我想為了提升代碼的開發(fā)效率,許多人曾經(jīng)會記錄一些常用的代碼片段,一般稱之為代碼的Snippet,一些編輯器里也有這種管理小工具。

這一下子,連 Snippet 也省了,還少了Ctrl C +V 的過程。

3. 查看更多

如果提示列表里沒有感興趣的,還想看更多的示例怎么辦?

好辦!

在某個關(guān)鍵詞右擊對應(yīng)的類名,在彈出的菜單里選擇【Get relevant examples】,會在IDE的右側(cè)看到更多關(guān)于該類的使用Demo。

右側(cè)的顯示

4. 再多

如果還不夠,點擊這個鏈接,在瀏覽器里一次看個痛快吧。

本文轉(zhuǎn)載自微信公眾號「 Tomcat那些事兒」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系 Tomcat那些事兒公眾號。

責(zé)任編輯:武曉燕 來源: Tomcat那些事兒
相關(guān)推薦

2022-08-02 08:11:41

監(jiān)控埋點埋點方式插樁

2022-12-12 12:04:59

ChatGPT代碼軟件

2013-01-22 13:50:11

程序員前端Web

2015-09-28 09:05:27

別人能讀懂代碼

2023-01-04 07:33:34

機器代碼人工智能

2015-09-28 09:17:43

代碼可閱讀代碼質(zhì)量

2020-02-19 13:11:52

阿里 AI 代碼

2020-04-03 14:55:39

Python 代碼編程

2012-07-03 09:59:03

程序員

2024-01-19 16:43:01

2020-09-30 16:15:46

ThreadLocal

2024-07-16 16:53:09

2017-09-08 12:15:54

Python代碼Pythonic

2011-02-23 08:50:22

C#.NETdynamic

2021-03-28 16:55:11

Python工具鏈代碼

2016-12-09 15:02:02

云計算

2019-02-26 15:34:27

AI 數(shù)據(jù)人工智能

2024-10-29 09:25:00

2025-02-24 08:20:00

AI代碼生成

2023-12-24 12:44:47

SpringBoot代碼接口開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號