史上最強大IDEA編程插件:編程效率提升N倍
- 2019 年 10 月 10 日
- 筆記
平時寫代碼的時候多少會依賴編輯器裏面的代碼補全,敲幾個字母就能補全一整個詞。可是這麼多年過去了,為什麼代碼補全還是像最開始那樣,只能限定於一個詞,而且毫無意義地按照字典表順序排列呢?

傳統的代碼補全,一大篇毫無意義的推薦
想像一下,如果用【AI】來做代碼提示會怎樣,把更常用的結果放在前面,給出更長的推薦,甚至一行!

AI做代碼補全,根據使用情況智能排序,甚至補完整個語句
【知名媒體紛紛報道】
近日我在瀏覽網頁時,看到了機器之心、36Kr、獵雲網等知名媒體對AI輔助編程產品-「aiXcoder」(www.aixcoder.com)的報道,這一款用人工智能技術輔助開發者編程的產品,主要包含了智能代碼補全和代碼推薦。
aiXcoder安裝和使用起來很簡單,能夠有效提高開發者編程效率。aiXcoder是基於深度學習技術,具備學習、優化的能力,像你的私人編程助手,在你使用過程中邊學邊用,隨着使用時間越長,推薦的代碼長度越長、越準確。
aiXcoder支持Java、Python、JavaScript、TypeScript、PHP、C++等多種編程語言。
支持很多常用IDE:intelliJ IDEA、Pycharm、Ecplise、Sublime、PhpStorm、WebStorm、VS Code、Android Studio等等。
【測試AI編程】
於是我測試了一下這個可以【幫助程序員節省時間】的工具,看看AI編程發展到什麼程度,是否真正幫助程序員節省時間。
本着獨立、客觀、第三方的原則,挑選第三方的代碼進行測試。
既然說可以節省編程時間,從【鍵盤按鍵】數量的角度進行統計與比較,因為敲擊鍵盤數量越少,越節省開發時間。
【Round One:Tensorflow】
選擇的第一個測試程序是Google官方的tensorflow示例程序:
測試代碼地址:
https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/recurrent_network.py

選擇如下的代碼片段進行測試:

選擇的原因是這部分代碼包含內容比較全面,包含:
●自定義函數
●函數變量、實參
●API
●變量名
這四個方面,基本可以看出aiXcoder推薦準確度,以及判定是否對編程有幫助。
測試結果:
●IDE自帶推薦:
使用IDE自帶代碼提示功能,需要的按鍵次數:311
●aiXcoder智能推薦
使用aiXcoder智能推薦提示功能,需要的的按鍵次數:56
測試結論:
選擇tensorflow社區版本【aiXcoder智能推薦是IDE自帶推薦近5倍的編程效率】
使用錄製的動圖如下:

【 Round Two:Java】
選擇鍾述林老師的Java實戰的經典例子。
測試代碼地址:https://github.com/zsl131/spring-boot-test/tree/master/study12
選擇如下的代碼片段進行測試,例子裏面的字符串不作為統計的指標:

測試結果如下:
●IDE自帶推薦:
使用IDE自帶代碼提示功能,需要的按鍵次數:236
●aiXcoder智能推薦-Java版本模型
使用aiXcoder智能推薦提示功能,需要的的按鍵次數:105
測試結論:
選擇Java社區版本【aiXcoder智能推薦是IDE自帶推薦2.25倍的編碼效率】
使用錄製的動圖如下:


【Round Three:C++語言】
由於C++語言不熟悉,所以選擇簡單的文件讀取的例子進行測試:

結果如下:
●IDE自帶推薦:
IDE自帶代碼提示功能,需要的按鍵次數:98
●aiXcoder代碼推薦-C++版本模型
aiXcode智能推薦提示功能,需要的按鍵次數:49
測試結論:
選擇C++社區版本【aiXcoder智能推薦是IDE自帶推薦2倍的編碼效率】
使用錄製的動圖如下:

aiXcoder和使用IDE編譯器自帶提示使用方式一致,無需學習成本即可上手使用,是一個面向程序員的好產品,在實際的使用中對提高編程效率很有幫助。
【更多為程序員量身定製的功能】
除了上面的測試功能,aiXcoder還會分析你潛在的推薦需要,對系統默認推薦位置進行排序優化,把你想用的推薦結果排序前置,方便編程過程中的選擇。

「代碼搜索功能」是aiXcoder的另一個節省時間的功能:把搜索代碼實現具體功能的搜索引擎做到了IDE中,節省來回切換瀏覽器的時間成本。

【總結一下】
aiXcoder和使用IDE編譯器自帶的短提示使用方式一致,沒有學習成本即可上手使用,是一個面向程序員的好產品,在實際的使用中確實提升了編程的效率。
對於一個創新性產品,本身也會有不足的地方,根據官網和以往的用戶評論,目前aiXcoder還有三點需要注意的地方:
1、部分城市反饋速度延遲
由於網絡延遲原因,部分地區的用戶,推薦內容返回不及時,可能要超過200ms才有推薦結果。目前aiXcoder正在全國各地部署服務器,解決卡頓、推薦慢的問題。
2、某些IDE未支持
目前aiXcoder支持常見的IDE,部分小眾IDE未支持,用戶可以在官網反饋或者在群里反饋,官方也會優先支持用戶提議多的IDE。
3、時間長、效果好
安裝之後,並不能起到立竿見影的效果,學習到反饋需要過程,根本還是深度學習的問題。一個用戶安裝並使用1周之後,推薦準確率要比剛裝上好太多,而且推薦的長度也更長。
雖然aiXcoder還有部分的不足,作為一個純國產的技術性產品,我作為一個程序員還是很期待,相信aiXcoder能夠在編程領域掀起波浪,讓我們拭目以待!