史上最強大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能夠在編程領域掀起波浪,讓我們拭目以待!