最近在瀏覽技術(shù)社區(qū),發(fā)現(xiàn)了一款能節(jié)省開發(fā)時(shí)間的 IDE 插件。
是一個(gè)利用人工智能技術(shù)幫助程序員提高編程效率,節(jié)省時(shí)間的工具,它的功能簡(jiǎn)直是為了我們程序員量身定做的,一下子勾起了我的好奇心。
這款插件叫aixcoder(www.aixcoder.com),我們可以從它的名字看出特殊性,是一款利用 AI 技術(shù)提升編程效率的插件,“AI”乘“coder”,好像一個(gè)和開發(fā)者一起協(xié)作的AI編程專家一樣。
根據(jù)官網(wǎng)信息得知,智能編程助手插件有三大特性:
功能很強(qiáng)大,但使用起來(lái)很簡(jiǎn)單。
aixcoder已經(jīng)集成到了 IDE之中,用起來(lái)和常規(guī)的IDE代碼提示一樣,一次能補(bǔ)全一整行代碼,速度也跟得上,在開發(fā)過(guò)程中非常有用。
下面是使用時(shí)候錄制的實(shí)際效果,寫起Java代碼來(lái),確實(shí)“走路帶風(fēng)”。
因?yàn)楹芏嚅_發(fā)者現(xiàn)在都使用SpringBoot,因此官方對(duì)SpringBoot進(jìn)行了特殊優(yōu)化,補(bǔ)全效果更好。
同時(shí),aiXcoder還對(duì)其他編程框架進(jìn)行了優(yōu)化,對(duì)開發(fā)者的支持很友好。
試了一下Python,發(fā)現(xiàn)這款插件同時(shí)支持 :
上面這段tensorflow代碼,我做了一個(gè)統(tǒng)計(jì),看看這個(gè)產(chǎn)品能夠提升多少效率。
從“按鍵級(jí)別”去統(tǒng)計(jì),只使用IDE自帶代碼提示,需要「311」次鍵盤按鍵才能完成,而用了aiXcoder按鍵數(shù)能夠降低到「56」次,提高了將近5倍的編程效率。這個(gè)例子是Google官方的tensorflow示例程序,大家也可以試試。
C++也是支持的,我也小試了一把:
還有其他專門為程序員貼心準(zhǔn)備的功能,我也是非常驚喜的,比如:
? aiXcoder增強(qiáng)了IDE自帶補(bǔ)全的功能,能根據(jù)我們寫的代碼,對(duì)IDE自帶的推薦結(jié)果進(jìn)行排序優(yōu)化,更方便我們使用。
? 寫代碼過(guò)程中,很多程序員,比如我,都是先寫具體的邏輯代碼,之后再添加import對(duì)應(yīng)的包資源。這種情況也在代碼復(fù)用中經(jīng)常存在,“control + c”配合“control + v”解決問(wèn)題,但之后還得手動(dòng)添加import包。針對(duì)這個(gè)問(wèn)題,aiXcoder還有自動(dòng)添加import包的功能,非常實(shí)用:
? 智能代碼搜索功能,也是我比較喜歡的,身為程序員,少不了重復(fù)造輪子的工作。很多時(shí)候都需要在搜索引擎中去搜索具體的功能實(shí)現(xiàn)方式,aiXcoder直接把相關(guān)功能做到IDE里面了,省去了切換瀏覽器來(lái)回篩選的時(shí)間成本。
由于對(duì)aiXcoder和智能軟件開發(fā)的好奇心,我去聯(lián)系了他們官方人員。官方人員非常耐心解答了我心中的三點(diǎn)疑問(wèn):
(1)aiXcoder的服務(wù)模式
原來(lái)aiXcoder與現(xiàn)有IDE的代碼補(bǔ)全最大的不同是,aiXcoder提供的是“個(gè)性化的強(qiáng)AI服務(wù)”,會(huì)根據(jù)用戶編碼習(xí)慣的不同,為開發(fā)者提供個(gè)性化的服務(wù)。并且aiXcoder的服務(wù)模式是一對(duì)一服務(wù),這是傳統(tǒng)IDE無(wú)法支持的。
隨著我們開發(fā)中不斷使用,會(huì)感覺aiXcoder用的更“趁手”,越用越好,需要給我們自己的編程機(jī)器人一些“學(xué)習(xí)”時(shí)間。
(2)aiXcoder安全性:
aiXcoder 在提供預(yù)測(cè)服務(wù)的時(shí)候,需要用后臺(tái)的GPU和深度學(xué)習(xí)模型進(jìn)行運(yùn)算處理,代碼片段上報(bào)給模型進(jìn)行處理前會(huì)先在用戶本地電腦做脫敏處理,去掉里面所有的字符串和其他所有敏感信息,同時(shí)開發(fā)者的代碼不會(huì)被aiXcoder服務(wù)端以任何形式被保存和泄漏。
由于大部分用戶電腦沒有能夠支撐服務(wù)的GPU,所以目前服務(wù)的模式是云端進(jìn)行計(jì)算的。aiXcoder團(tuán)隊(duì)也在努力把一部分功能做到本地化,讓開發(fā)者更好地使用。
(3)aiXcoder機(jī)制與原理
aiXcoder采用基于【深度學(xué)習(xí)】+【知識(shí)庫(kù)】模式,使用了先進(jìn)的專門應(yīng)用于程序分析與生成的特定深度神經(jīng)網(wǎng)絡(luò)模型,并利用嚴(yán)格篩選的海量領(lǐng)域源代碼數(shù)據(jù)進(jìn)行訓(xùn)練,從而使aiXcoder 能夠充分學(xué)習(xí)和掌握隱含于海量代碼中的編碼模式與規(guī)律,并將該信息用于后續(xù)代碼的生成與補(bǔ)全。
要再講細(xì)了水就深了,小編我也沒聽懂,但是過(guò)兩天有課詳細(xì)講,見下文。
聯(lián)系客服