小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

搭建智能橋梁,Amazon CodeWhisperer助您輕松編程

 小虛竹 2023-09-27 發(fā)布于福建

零:前言

隨著時間的推移,人工智能技術(shù)以驚人的速度向前發(fā)展,正掀起著全新的編程范式革命。不僅僅局限于代碼生成,智能編程助手等創(chuàng)新應用也進一步提升了開發(fā)效率和代碼質(zhì)量,極大地推動著軟件開發(fā)領(lǐng)域的快速繁榮。

當前市場上涌現(xiàn)出越來越多的智能編程工具,它們的出現(xiàn)旨在幫助開發(fā)者更加迅速而安全地構(gòu)建應用程序。其中,亞馬遜云科技的AI編程助手Amazon?CodeWhisperer以其卓越的性能脫穎而出,有效提升了開發(fā)人員的生產(chǎn)力。引入這款強大的工具,開發(fā)者們能夠在創(chuàng)造、設計和完善項目時更為高效,取得令人矚目的成果。它為開發(fā)者們搭建起了一個便捷的橋梁,讓他們能夠更加聰明地利用人工智能技術(shù)來加速創(chuàng)新和優(yōu)化編程流程。

今天讓虛竹哥帶大家了解下Amazon?CodeWhisperer。

、Amazon?CodeWhisperer

1.1、開發(fā)常見痛點

  • 在開發(fā)過程中,編寫樣板代碼是一個重復且乏味的任務
  • 開發(fā)人員需要在不熟悉的編程語言中進行編碼時,語法錯誤和問題可能會成為瓶頸
  • 安全漏洞是軟件開發(fā)中一個嚴重的問題,但往往很難及早發(fā)現(xiàn)和修復
  • 打字錯誤和典型錯誤會導致代碼不正常工作或產(chǎn)生潛在的問題,給開發(fā)人員帶來不必要的麻煩和調(diào)試時間

1.2、Amazon?CodeWhisperer是什么

Amazon?CodeWhisperer是一款強大的智能編程助手,它秉承著訓練了數(shù)十億行代碼的經(jīng)驗。借助于其先進的算法和深度學習技術(shù),CodeWhisperer能夠以驚人的準確度和實時性為開發(fā)者們提供各種代碼建議。

1.3、優(yōu)勢

  • 更快速地完成更多工作:CodeWhisperer通過快速生成準確的代碼建議,幫助開發(fā)者在編碼時節(jié)省大量的時間。它可以實時生成從代碼片段到全函數(shù)的代碼建議,并幫助開發(fā)者使用不熟悉的API進行構(gòu)建,從而提高工作效率和生產(chǎn)力。
  • 自信地進行編碼:CodeWhisperer可以標記或篩選與開源訓練數(shù)據(jù)相似的代碼建議,并提供相關(guān)開源項目的存儲庫URL和許可證信息。這使得開發(fā)者可以方便地查看和添加歸因,促進了代碼共享和合作。開發(fā)者可以使用這些代碼建議來創(chuàng)建高質(zhì)量的軟件,而且可以放心地使用這些建議,因為它們都經(jīng)過了專業(yè)訓練和驗證。
  • 增強代碼安全性:CodeWhisperer能夠掃描難以發(fā)現(xiàn)的漏洞,并給出修復建議。它遵循OWASP等安全標準,幫助開發(fā)者及時修復安全漏洞,提高軟件的可靠性和穩(wěn)定性。CodeWhisperer還可以檢查代碼中可能存在的漏洞,并給出相應的警告,幫助開發(fā)者在發(fā)布前修復漏洞和錯誤。
  • 提升開發(fā)人員工作效率:CodeWhisperer可以大大提高開發(fā)者的工作效率。根據(jù)生產(chǎn)力挑戰(zhàn)賽的結(jié)果,在使用CodeWhisperer的情況下,參與者成功完成任務的可能性增加了27%,平均完成任務的速度提高了57%。開發(fā)團隊可以減少在創(chuàng)建樣板文件和重復代碼模式上的時間,將更多時間花在構(gòu)建優(yōu)秀的軟件上。
  • 支持多語言和多IDE:CodeWhisperer支持近15種編程語言,包括Python、Java、JavaScript、C++等。它可以與流行的IDE(如VS?Code、IntelliJ?IDEA)無縫集成,為開發(fā)者提供高效便捷的開發(fā)體驗。開發(fā)者可以使用他們喜歡的環(huán)境來編寫他們的代碼,并且還可以輕松地在不同的項目中使用CodeWhisperer。
  • 可以即用即開,隨時關(guān)閉:CodeWhisperer可以實現(xiàn)即用即開,開發(fā)者可以在需要的時候打開它,并在不需要的時候隨時關(guān)閉。這使得開發(fā)者可以更好地控制他們的工作負載,而不必擔心CodeWhisperer會導致其他問題。
  • 可以免費使用:CodeWhisperer可以免費使用,這對于個人程序員和小型團隊來說是非常有吸引力的。它提供了一個低成本的方法,讓開發(fā)者能夠輕松地獲得高質(zhì)量的代碼建議,而不必擔心成本。
  • 可以支持學習和技能增長:CodeWhisperer可以幫助開發(fā)者學習新的編碼技術(shù)和API。使用CodeWhisperer,開發(fā)者可以輕松地創(chuàng)建新的代碼,并且可以獲得有關(guān)如何改進他們的工作流程的建議。CodeWhisperer還可以幫助開發(fā)者提高他們的技能水平,因為它可以提供專業(yè)級的代碼建議和建設性的反饋。
  • 可以提供靈活的輸出選項:CodeWhisperer可以以多種格式提供代碼建議,包括代碼段、函數(shù)、類和整個項目等。開發(fā)者可以選擇適合他們需求的輸出選項,從而使CodeWhisperer更加靈活和適應性強。

適用場景

  • 編寫樣板代碼:開發(fā)人員可以使用CodeWhisperer來快速生成樣板代碼。例如,只需輸入"為ML數(shù)據(jù)創(chuàng)建預處理腳本的類",CodeWhisperer就能夠生成整個預處理數(shù)據(jù)類的代碼塊,節(jié)省了編寫樣板代碼的時間。
  • 使用不熟悉的語言進行編碼:CodeWhisperer可以幫助開發(fā)人員在不熟悉的編程語言中進行編碼。比如,一個新加入團隊的Java用戶可以借助CodeWhisperer輕松開始編寫Python代碼,而無需擔心語法錯誤。
  • 檢測代碼中的安全漏洞:CodeWhisperer具備檢測代碼中安全漏洞的功能。開發(fā)人員可以在IDE中選擇運行安全掃描,CodeWhisperer會提供有關(guān)安全問題的詳細信息。這有助于開發(fā)人員及早發(fā)現(xiàn)并解決潛在的安全問題。
  • 消除打字錯誤和典型錯誤:CodeWhisperer利用人工智能技術(shù),幫助開發(fā)人員消除打字錯誤和典型錯誤,從而提高代碼的準確性。
  • 減少重復編碼:CodeWhisperer通過推薦可能需要的后續(xù)代碼片段,減少了重復編碼的工作。開發(fā)人員可以更快速地編寫代碼,避免重復書寫相似的代碼段。
  • 其他常規(guī)任務和使用不熟悉的API場景:CodeWhisperer還可以幫助開發(fā)人員完成其他常規(guī)、耗時的無差別任務,比如編寫讀寫文件、處理圖像、編寫單元測試等代碼。它也適用于在使用不熟悉的API或SDK時構(gòu)建示例代碼。
  • 實戰(zhàn)體驗

安裝

在IDEA上安裝Amazon CodeWhisperer的插件(虛竹哥用的是IDEA2022.1.4版本)

按照以下步驟在IDEA中安裝Amazon?Toolkit插件:

1、打開IDEA,點擊右上角的?"File"?菜單,然后選擇?"Settings"。

2、在設置窗口左側(cè)的菜單欄中,點擊?"Plugins"。

3、在?Plugins?頁面右上角,輸入?"Amazon?Toolkit",并從搜索結(jié)果中選擇相應的插件。

4、點擊?"Install"?按鈕開始安裝插件。

5、安裝完成后,點擊?"OK"?按鈕。

注意,安裝完成后,要重啟IDEA,才會生效。

依次點擊?"View"?->?"Tool?Windows"?->?"Amazon?Toolkit"。這將打開Amazon?Toolkit視圖。

在Amazon?Toolkit視圖上,您將看到一個名為"Developer?Tools"的標簽頁。點擊這個標簽頁。

在"Developer?Tools"頁面上,您將看到一個名為"CodeWhisperer"的選項。點擊這個選項。

在CodeWhisperer頁面上,您將看到一個名為"Start"的按鈕。點擊這個按鈕

選擇“Use?a?personal?email?to?sign?up?and?sign?in?with?Amazon?Builder?ID

然后點擊“connect”

在彈窗中,選點擊復制,這是復制code

然后選擇“Open?and?Copy?Code”

會彈出瀏覽器頁面,輸入復制的code,提交

輸?郵箱地址,點擊"下一步"

輸?名字,點擊“Next”,CodeWhisperer會向郵箱中發(fā)送?個驗證碼

去郵箱找到驗證碼,復制,下一步

設置密碼,密碼要求比較高

出現(xiàn)如圖這個,就說明創(chuàng)建成功了。

實戰(zhàn)1:

補全注釋功能

可以根據(jù)前文補全注釋,看效果還不錯。不喜歡寫注釋人的福音。

實戰(zhàn)2:

寫了一個注釋,想寫個冒泡排序。自動幫我生成代碼了

選擇insert?code?

在方法體里回車,會再自動生成代碼

代碼生成了

package?com.xiaoxuzhu.csdn;

public?class?TestCodeWhisperer?{

????/**
?????*?寫個冒泡排序
?????*/
????public?static?void?main(String[]?args)?{

????????int[]?arr?=?{1,?2,?3,?4,?5,?6,?7,?8,?9,?10};
????????int?temp?=?0;
????????for?(int?i?=?0;?i?<?arr.length?-?1;?i++)?{
????????????for?(int?j?=?0;?j?<?arr.length?-?1?-?i;?j++)?{
????????????????if?(arr[j]?>?arr[j?+?1])?{
????????????????????temp?=?arr[j];
????????????????????arr[j]?=?arr[j?+?1];
????????????????????arr[j?+?1]?=?temp;
????????????????}
????????????}
????????}
????????for?(int?i?=?0;?i?<?arr.length;?i++)?{
????????????System.out.println(arr[i]);

????????}
????}

}

運行結(jié)果:

實戰(zhàn)3:

實戰(zhàn)1只是一個簡單的排序算法,要求也不高?,F(xiàn)在來升級下實驗。輸入一段話,大致內(nèi)容要求是:求每次劃動窗口的最大值。

給你一個整數(shù)數(shù)組?nums,有一個大小為?k?的滑動窗口從數(shù)組的最左側(cè)移動到數(shù)組的最右側(cè)。你只可以看到在滑動窗口內(nèi)的?k?個數(shù)字?;瑒哟翱诿看沃幌蛴乙苿右晃弧?/span>

?要求返回?滑動窗口中的最大值?。

選擇insert?code?

選擇insert?code?

最后生成完整的代碼。

package?com.xiaoxuzhu.csdn;

public?class?TestCodeWhisperer2?{

????/**
?????*?給你一個整數(shù)數(shù)組?nums,有一個大小為?k?的滑動窗口從數(shù)組的最左側(cè)移動到數(shù)組的最右側(cè)。你只可以看到在滑動窗口內(nèi)的?k?個數(shù)字?;瑒哟翱诿看沃幌蛴乙苿右晃?。
?????*?<p>
?????*?返回?滑動窗口中的最大值?。
?????*/
????public?static?void?main(String[]?args)?{
????????int[]?nums?=?{1,?3,?-1,?-3,?5,?3,?6,?7};
????????int?k?=?3;
????????int[]?res?=?maxSlidingWindow(nums,?k);
????????for?(int?i?:?res)?{
????????????System.out.println(i);
????????}
????}

????public?static?int[]?maxSlidingWindow(int[]?nums,?int?k)?{
????????int[]?res?=?new?int[nums.length?-?k?+?1];
????????int?index?=?0;
????????for?(int?i?=?0;?i?<?nums.length?-?k?+?1;?i++)?{
????????????int?max?=?Integer.MIN_VALUE;
????????????for?(int?j?=?i;?j?<?i?+?k;?j++)?{
????????????????max?=?Math.max(max,?nums[j]);
????????????}
????????????res[index++]?=?max;
????????}
????????return?res;
????}


}

執(zhí)行的結(jié)果是正確的

實驗的過程很絲滑,而且ai的理解能力還是很強的,能正確地理解虛竹哥的意思并生成對應的代碼。

實戰(zhàn)4:

leetcode中選一個難度級別比較高的算法題目,看ai能不能理解,并進行正確解答。

選一個動態(tài)規(guī)劃里,困難級別的:

題目是:

給你一個只包含?'('?和?')'?的字符串,找出最長有效(格式正確且連續(xù))括號子串的長度。

開始ai寫代碼

按提示內(nèi)容,不斷插入代碼

最終生成代碼:

跑一下結(jié)果,為2,是對的。

這樣就夠了嗎?不!讓leetcode來判斷下生成的代碼質(zhì)量如何

復制代碼到leetcode里,然后先運行下

過啦~

提交

擊敗100%~?

此時此刻,有個BGM響起:無敵是多么,多么寂寞~

實戰(zhàn)5:

寫個小游戲,看下能不能上下文理解。

游戲規(guī)則:

寫一個猜數(shù)字的游戲,從1~188中,讓用戶在控制臺輸入數(shù)字,用戶如果猜大了,就提示大了,小了就提示小

提示詞:隨機生成一個1~188以內(nèi)的數(shù)字

提示詞:寫個標記,默認false

提示詞:創(chuàng)建一個Scanner對象

提示詞:在循環(huán)中,循環(huán)條件是flag為true終止循環(huán),先提示?用戶進行猜數(shù)字,用戶輸入數(shù)字,判斷guessNumber的值與number是否一樣,如果一樣,就設置flag為true.跳出循環(huán);?判斷guessNumber的值與number是否一樣?,如果大了提示大了,小了提示小了。

提示詞:最后生成提示:恭喜了,猜對了

生成的完整代碼,跑起來試試:

注意事項

Amazon CodeWhisperer的Amazon?Toolkit”插件對idea的版本支持有限制,我從2019版本開始嘗試,有不兼容問題,后面查找了資料,是從2022.1版本及以上才支持的。

三、總結(jié)

隨著時間的推移,人工智能技術(shù)迅猛發(fā)展。智能編程助手如Amazon?CodeWhisperer大大提高了開發(fā)效率和代碼質(zhì)量。CodeWhisperer是強大的智能編程助手,可幫助開發(fā)者更快、更安全地構(gòu)建應用程序。

CodeWhisperer解決了開發(fā)中的常見痛點。它可以快速生成準確的代碼建議,節(jié)省時間。對于不熟悉的編程語言,它提供準確的代碼建議,避免語法錯誤和問題。此外,CodeWhisperer幫助開發(fā)者及早發(fā)現(xiàn)和修復安全漏洞,提高軟件安全性和穩(wěn)定性。它還消除打字錯誤和典型錯誤,提高代碼準確性。

CodeWhisperer具有許多優(yōu)勢。它提高了工作效率和生產(chǎn)力,可以自信地進行編碼并提供相關(guān)開源項目信息。它支持多種編程語言和流行的IDE,提供高效便捷的開發(fā)體驗。開發(fā)者可以隨時使用或關(guān)閉它,并免費使用,降低了成本。

CodeWhisperer適用于多種場景,可以快速生成樣板代碼,幫助在不熟悉的編程語言中進行編碼,檢測安全漏洞,消除打字和典型錯誤,并減少重復編碼的工作。它還適用于其他常規(guī)任務和使用不熟悉的API的場景。

在實際體驗中,安裝和使用Amazon?CodeWhisperer的插件非常簡單,能夠與流行的IDE無縫集成。虛竹哥在使用IDEA安裝了Amazon?Toolkit插件,并成功使用了CodeWhisperer生成了一些代碼。實驗的過程由簡單注釋生成到復雜的算法解答,最后實驗寫一個小游戲,CodeWhisperer準確地理解了虛竹哥的意圖并生成了相應的代碼。

此次的體驗很愉快,也有收獲??梢酝度腴_發(fā)生產(chǎn)中,減少開發(fā)量,讓我有更多時間投入更有價值的工作上。

大家也可以去體驗體驗,也歡迎找虛竹哥溝通分享心得。

我是虛竹哥,我們明天見~

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多