文章作者:Coder9527
科技的進步日新月異,正當人工智能發展如火如荼的時候,各大廠商在“解放”碼農的道路上不斷創造出各種 Coding 利器,今天在下就帶大家開箱體驗一個 Coding 利器:?Amazon CodeWhisperer。
亞馬遜云科技開發者社區為開發者們提供全球的開發技術資源。這里有技術文檔、開發案例、技術專欄、培訓視頻、活動與競賽等。幫助中國開發者對接世界最前沿技術,觀點,和項目,并將中國優秀開發者或技術推薦給全球云社區。如果你還沒有關注/收藏,看到這里請一定不要匆匆劃過,點 這里讓它成為你的技術寶庫!
話不多說,開擼!
準備環境和開發工具:Win11 系統,VSCode,python3.9(環境變量已添加)
Amazon Toolkit 插件安裝需要一個郵箱以及設定一個密碼以便設置 Amazon Builder ID 并激活 Amazon CodeWhisperer 這對于沒有亞馬遜云科技賬號的開發者來說可以很方便的使用亞馬遜云科技系的服務了。
激活 Amazon CodeWhisperer 后我們的 VSCode 是這樣的。如下圖:
代碼自動建議默認是打開的,另外還可以提供安全掃描服務等。
1.代碼生成的自動建議
于是讓 Amazon CodeWhisperer 先來一個簡單的,生成打印 hello world 函數:
在 py 文件中輸入:
# a function named print_hello_world that prints "Hello World" to the screen.
稍等片刻,它會自動提示函數名定義,按 Tab 鍵確認生成函數定義。
然后是函數體以及調用:
我們運行一下試試:
運行完成。
接下來再擼一個求斐波那契數列第 n 位數的函數:
生成運行成功,這個很考驗英文描述能力,希望以后能增加解讀漢語的功能!!
2.代碼風險檢測
我們看看 Amazon CodeWhisperer 對于除數為零的代碼風險能不能檢測到:
竟然是:未在工作區檢測到問題。 我和我的小伙伴們都驚呆了,說實話心理很忐忑。。。。。。
非得運行一下才能報出來問題。當然我寫的這個除數為零的比較明顯,如果能在比較隱藏的深的代碼中檢測到除數為零問題,那簡直是很有幫助的。
對于內存溢出我們來測試一下看看能不能檢測出來:
def max_recursion(n):if n == 1:return 1else:return n * max_recursion(n-1)print(max_recursion(1000000))
來運行一下,
啊,這。。。抱歉,是在下膚淺了。。。
總體體驗下來,Amazon CodeWhisperer 表現還是不錯的生成的代碼比較規范,我這里只用 python 測評了一下,有空在用其他語言試試。
好了,達摩克里斯之劍入鞘!
文章來源:
https://dev.amazoncloud.cn/column/article/64f434262a1d01763ea480c0?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=CSDN