點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)

大家好,我是你們的碼農(nóng)大哥——棧長。

3 年前,自 后大動(dòng)作不斷啊,兩年多之前就讓 ,后面還推出了 移動(dòng)版,這些我都已經(jīng)在公眾號(hào)Java技術(shù)棧作過分享,沒看過的可以回過頭看下。

最近, 又搞大事了,推出了一款 AI 編程神器—— ,牛逼啊,下面棧長帶大家來看看到底是什么鬼?

簡介

官網(wǎng):

是由 和 合作聯(lián)合開發(fā)的,看到這個(gè)玩意,讓我想到了之前分享的 AI 寫代碼工具:,它能夠自動(dòng)進(jìn)行代碼分析并智能提示,極大的提高開發(fā)效率。

棧長大致看了下, 貌似要更牛逼, ——你的 AI 配對程序員,可以理解為你的影子程序員,它基于數(shù)十億行開源代碼進(jìn)行訓(xùn)練,并在背后默默給你建議,不管是整行、還是是整個(gè)完整方法,它都能幫你完成。

牛逼,某些代碼,比如說工具類,再也不用在網(wǎng)上找了, 就能完成整段方法的代碼編寫。

官網(wǎng)示例

簡單的講, 可以根據(jù)你提供的注釋、方法名、代碼本身等上下文信息自動(dòng)匹配以完成整個(gè)方法。

來看幾個(gè)官網(wǎng)提供的示例,就知道有多牛逼!

自動(dòng)完成整個(gè)方法:

根據(jù)注釋完成整個(gè)方法:

自動(dòng)填充相似代碼:

自動(dòng)生成相匹配的單元測試代碼:

可切換多種不同的解決方案:

快速上手新語言、新框架:

用 JS 畫一個(gè)散點(diǎn)圖申請?jiān)囉?/p>

很可惜, 目前還是預(yù)覽版,還不支持 Java,只支持 、、、Ruby 和 Go 幾種編程語言,不然棧長還真想上手體驗(yàn)一下。

另外, 目前也只支持在 Code 中使用,如果你想基于上述幾種語言進(jìn)行體驗(yàn),可以申請?jiān)囉妙A(yù)覽版,申請地址:

這里棧長就不演示了,有興趣的可以研究下,等后面如果支持 Java 了,棧長一定體驗(yàn)下,不要走開,關(guān)注公眾號(hào):Java技術(shù)棧,第一時(shí)間推送哦。

工作原理

這么牛逼?是什么工作原理呢?

來看下官網(wǎng)提供的交互圖:

1) 編程器向 服務(wù)發(fā)送上下文信息,包括注釋、代碼等信息;

2) 服務(wù)使用 模型,它基于數(shù)億公開源代碼及自然語言進(jìn)行訓(xùn)練,然后向 編程器提供建議,最后返回匹配的單個(gè)代碼行或者整個(gè)方法;

3) 編程器不斷向 服務(wù)提供改善建議;

總結(jié)

感受 工具自動(dòng)完成代碼的便利,確實(shí)能夠解輕程序員到處找示例代碼的痛楚,也能幫助我們盡可能的避免復(fù)制代碼出現(xiàn)的 bug 或者潛在漏洞的風(fēng)險(xiǎn)。

雖好,其實(shí)還有兩點(diǎn)需要我們注意!!

1、安全性

從上面的工作原理圖,我們知道,獲取代碼建議,就必須先將編輯器中的注釋、代碼等相信信息發(fā)送到 服務(wù)器中,這就導(dǎo)致代碼外泄的風(fēng)險(xiǎn)。

目前安全性不得而知,只是預(yù)覽版,但對于金融、支付類的敏感業(yè)務(wù)場景恐怕是要好好思量。