【前言】
隨著今年人工智能技術(shù)的大火,越來越多的領(lǐng)域正在接受和利用這項(xiàng)強(qiáng)大的AI科技,以實(shí)現(xiàn)更高效、更智能的工作方式。在軟件開發(fā)領(lǐng)域,AI技術(shù)更是為我們的工作帶來了前所未有的變革。從自動代碼生成到智能編程助手,AI正在逐步改變開發(fā)者的工作方式,提高開發(fā)效率和代碼質(zhì)量。
對于傳統(tǒng)程序員開發(fā)來說,完成一些業(yè)務(wù)邏輯代碼或者說特定代碼,需要自己從0手動去敲代碼、查Bug、找思路、做優(yōu)化,這個過程就需要較多的時間和精力去完成。但是在今天,時代已經(jīng)發(fā)生變革了。
亞馬遜云科技推出了一款前沿的AI編程助手——Amazon CodeWhisperer 。這款工具利用了最先進(jìn)的深度學(xué)習(xí)技術(shù),通過訓(xùn)練幾十億行代碼,能夠快速理解開發(fā)者的需求,提供即時的、強(qiáng)大的代碼建議 和錯誤檢測,使開發(fā)者能夠更快、更安全地構(gòu)建應(yīng)用程序 。
為了友友們更好地了解和掌握Amazon CodeWhisperer,在本博客中,我將帶你手把手沉浸式體驗(yàn)一下Amazon CodeWhisperer的魔力和強(qiáng)大之處!讓你能夠愛上Amazon CodeWhisperer,用上Amazon CodeWhisperer~!
一、Amazon CodeWhisperer 功能概覽
可能很多小伙伴對Amazon CodeWhisperer的具體的能力還不太清楚,這里先給大家詳細(xì)介紹一下Amazon CodeWhisperer擁有的一些超級實(shí)用和強(qiáng)大的功能!用上這些功能,再也不怕被同事卷開發(fā)效率了!
1.1 強(qiáng)大的代碼建議
Amazon CodeWhisperer是基于數(shù)十億行代碼訓(xùn)練而成的,所以它能夠理解用自然語言編寫的各種代碼,并且可以實(shí)時地生成多個代碼建議來提高開發(fā)人員的工作效率。該服務(wù)直接在集成式開發(fā)環(huán)境(IDE)的代碼編輯器中提供針對完整函數(shù)和邏輯代碼塊(通常由多達(dá)10–15行代碼組成)的建議。
并且不用擔(dān)心它生成的代碼不符合你的代碼風(fēng)格,Amazon CodeWhisperer將學(xué)習(xí)你的代碼寫法與風(fēng)格,遵循你的設(shè)定的風(fēng)格和命名規(guī)則。怎么樣,很驚艷有木有!
1.2 支持多種語言與IDE
在公司開發(fā)中,可能每個程序員們開發(fā)的語言或者說IDE都是不大一樣的,但是請放心。
目前市面上主流的各類開發(fā)語言,例如Python、Java、Go、Rust、PHP、C++、C、JavaScript、TypeScript等等都是支持的!并且支持各種主流IDE工具,IDEA、Pycharm、VS Code等等這些都支持~
還有友友可能會說如果是SQL Boy呢?能用Amazon CodeWhisperer嗎?我的回答是,那是必須的!
1.3 安全掃描
在咱們寫完代碼之后,可以使用Amazon CodeWhisperer幫助我們進(jìn)行代碼的安全掃描,Amazon CodeWhisperer將幫助我們分析出代碼漏洞,并且會針對我們業(yè)務(wù)代碼中的漏洞提出更改優(yōu)化建議與代碼。
這個功能很實(shí)用,能夠幫助我們排除不必要的安全隱患!Boss再也不用擔(dān)心我寫的代碼出問題了。
二、沉浸式體驗(yàn)使用Amazon CodeWhisperer實(shí)戰(zhàn)開發(fā)代碼
相信大家看到這已經(jīng)很期待Amazon CodeWhisperer的實(shí)戰(zhàn)表現(xiàn)了,這不,我來給大家看看Amazon CodeWhisperer是怎么智能幫助我們?nèi)粘I钪刑岣邔W(xué)習(xí)與工作效率的!
首先我們使用Amazon CodeWhisperer來幫助我們快速構(gòu)建一些常見算法及代碼,在這里我選擇Python語言,看看Amazon CodeWhisperer是怎么幫助我們進(jìn)行構(gòu)建的吧!
2.1 Pycharm中快速導(dǎo)入Amazon CodeWhisperer
首先我們在Pycharm的設(shè)置Settings中,找到插件,然后搜索“Amazon Toolkit”。點(diǎn)擊Install,等待下載完成后,重啟Pycharm即可~
然后我們在插件中進(jìn)一步處理,使用個人AWS賬號去使用Amazon CodeWhisperer~
我們需要將這個代碼貼進(jìn)來進(jìn)行驗(yàn)證!并根據(jù)后續(xù)的操作進(jìn)行郵箱注冊創(chuàng)建AWS Builder賬號即可~
一切就緒之后會提出彈窗~
當(dāng)在Pycharm中出現(xiàn)如下界面之后,就代表咱們能夠順利使用Amazon CodeWhisperer了!
話不多說,開始用起來!
2.2 使用CodeWhisperer快速構(gòu)建Python代碼
我們先來使用Amazon CodeWhisperer寫一個簡單的冒泡排序,咱看看效果。首先輸入我們的注釋,這樣Amazon CodeWhisperer就知道們要干什么了,然后我們輸入import,就可以看到Amazon CodeWhisperer自動幫我們補(bǔ)全了random函數(shù)。
看到上面這個圖,你以為Amazon CodeWhisperer只是簡單補(bǔ)齊一行代碼那么簡單?只能說你太小看Amazon CodeWhisperer了!接著往下看!
不單單只是那一行!Amazon CodeWhisperer可以簡簡單單的直接幫我們補(bǔ)完所有實(shí)現(xiàn)代碼!
好,我這里選擇方案2中的代碼補(bǔ)全,然后當(dāng)輸入符到達(dá)代碼最后一行時,新的一行又自動跳出來了!
也就是print(a[i],end = ' ')這一行是在我沒有給出任何指令的情況下,Amazon CodeWhisperer自動提示我是否需要補(bǔ)充的!如果我需要,我只需按下Tab回車鍵或者鼠標(biāo)點(diǎn)擊Insert Code按鈕即可。
怎么說兄弟們,有沒有走一步算三步那味道了!這跟市面上以往的AI代碼助手不同,Amazon CodeWhisperer是真正能夠進(jìn)行“預(yù)判”式的輔助你寫代碼!并且咱們最開始的一切只是“源于”一個不起眼的小注釋,Amazon CodeWhisperer通過這個注釋已經(jīng)幫我們算好了接下來2-3個步驟,是不是很高效!
我測試了一下使用Amazon CodeWhisperer寫冒泡排序的時間,只需要按下三次Tab鍵即可!約等于大概2s鐘的時間!如果說正常來寫,只使用Pycharm自帶的代碼Tab補(bǔ)寫,就算手速再快,也需要大概15-20s左右的時間!
2s相比于20s,近乎10倍的時間開銷差距,在日常開發(fā)中有多香不用我多說了吧,各位老司機(jī),時間就是金錢呀!
只能說Amazon CodeWhisperer是真正意義上做到了幫助開發(fā)者節(jié)省時間,用戶體驗(yàn)感直接Max!
在同行中,Amazon CodeWhisperer真的可以說是“遙遙領(lǐng)先”了哈哈哈哈哈。
除了上面Amazon CodeWhisperer突出的“預(yù)判式”速度優(yōu)勢 ,Amazon CodeWhisperer還有一個優(yōu)勢,那就是Amazon CodeWhisperer不僅僅只是提供給你一種代碼思路,而是提供了3種以上的代碼建議,能夠讓我們有多種選擇!
很明顯,我們可以根據(jù)我們的具體代碼開發(fā)需求以及個人習(xí)慣進(jìn)行選擇,這直接把個性化體驗(yàn)拉滿了~~~ 簡單快速易上手,難度一點(diǎn)都沒有!我看誰還沒用上Amazon CodeWhisperer哈哈哈。
2.3 Amazon CodeWhisperer支持各種領(lǐng)域方向的代碼編寫
可能有老鐵會覺得上面舉的例子太簡單了,還是對Amazon CodeWhisperer超級魔力看的不過癮。
行,那咱上點(diǎn)“高質(zhì)量”的狠貨。
狠貨的情況是這樣的,前兩天我一個還在讀研的同學(xué)在打全國研究生數(shù)學(xué)建模競賽,問我如何用python寫一些高效的數(shù)學(xué)算法模型,例如二維馬爾科夫鏈這種,我當(dāng)時是這查查那查查,東拼西湊給同學(xué)發(fā)了一份二維馬爾科夫鏈算法模型的代碼。我只能說短短三四十行的代碼至少花了我兩三個小時,而且做的很難受,很心累。
現(xiàn)在我用Amazon CodeWhisperer來試試看看需要多久,或者說難不難寫出算法模型。
首先還是按照上面一樣,寫個注釋,讓Amazon CodeWhisperer明白我要做什么。
可以看到,如下圖,我只是簡單輸入了import math,Amazon CodeWhisperer就已經(jīng)幫我補(bǔ)全了其他所需要的常見數(shù)學(xué)計算包。
下一步,我繼續(xù)在注釋中寫明我需要做到哪些事情。比方說我想繼續(xù)寫一個狀態(tài)轉(zhuǎn)移方程,用來求馬爾科夫鏈模型的概率矩陣。
可以看到,Amazon CodeWhisperer直接提供好了一個初始矩陣給我,非常的方便。
我們再進(jìn)一步提出要求,注釋中寫清楚即可。
補(bǔ)全之后下一步Amazon CodeWhisperer又根據(jù)新的注釋幫我進(jìn)行了代碼建議,是不是看起來很專業(yè),而且代碼風(fēng)格看起來賞心悅目,非常整齊,看起來清爽。
然后我們簡單對狀態(tài)矩陣進(jìn)行判斷返回即可。根據(jù)Amazon CodeWhisperer的代碼建議補(bǔ)全如下。
怎么樣,是不是很優(yōu)秀,短短三五分鐘,能夠幫我把這種算法模型的架構(gòu)搭出來一個大概,就能幫我省去很多麻煩事。
這說明Amazon CodeWhisperer是真的能夠覆蓋很多場景,就連高級數(shù)學(xué)知識、數(shù)據(jù)科學(xué)類方面的代碼,Amazon CodeWhisperer也是能夠幫助我們進(jìn)行一個補(bǔ)全編寫的!
在簡單易上手的基礎(chǔ)上,咱就是說,Amazon CodeWhisperer主打的就是一個全能,能夠覆蓋多領(lǐng)域多方向需求~
2.4 Amazon CodeWhisperer的安全掃描功能
我找了一份研究生數(shù)學(xué)建模的參考示例代碼,按照慣例,參考示例代碼應(yīng)該是沒有問題的,那咱們看看Amazon CodeWhisperer的安全掃描會不會提出什么安全漏洞建議~
咱們可以耐心等待看看掃描結(jié)果。結(jié)果顯示掃描一切正常, 這說明這份參考示例代碼是沒有問題的。這符合咱們的預(yù)期, 說明Amazon CodeWhisperer的安全掃描功能還是沒問題的~
三、Amazon CodeWhisperer 總結(jié)
通過上面說的那么多東西,相信各位老鐵肯定很心動了,還等什么呢,趕緊用起來吧!
咱們來總結(jié)一下 Amazon CodeWhisperer 的優(yōu)點(diǎn):
1、對小白友好,不存在什么引入難度。大家可以看到 Amazon CodeWhisperer 導(dǎo)入及使用大概兩分鐘就能操作完了,非常的簡單,不需要什么時間。
2、上手簡單。其實(shí)使用 Amazon CodeWhisperer就幾個快捷鍵,Tab這種,使用起來也是完全沒有任何的難度。
3、覆蓋面廣,功能全面。咱們可以看到,對于一些高級數(shù)學(xué)知識,他也能夠很快的給出代碼建議。這一點(diǎn)其實(shí)非常好,因?yàn)樵陂_發(fā)中我們會遇到各種各樣的問題與需求,代碼助手的全面性決定了是否能夠幫助更多的開發(fā)者,所以我覺得 Amazon CodeWhisperer是非常優(yōu)秀的,功能全面無死角。
4、維護(hù)了代碼開發(fā)安全??赡芎芏鄤偣ぷ鲙啄甑拈_發(fā)者并不是非常有經(jīng)驗(yàn)對于代碼安全方面,但 Amazon CodeWhisperer 剛好就能夠幫我們有效識別和修復(fù)潛在的安全漏洞,我覺得這是非常好的。幫助我們更好的完成代碼開發(fā)。
綜上所述,我覺得 Amazon CodeWhisperer 是一款各方面都非常不錯的AI代碼助手,遙遙領(lǐng)先這四個字,絕對當(dāng)之無愧!
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!