近期,GitHub發(fā)布了關于GitHub Copilot Chat的最新研究報告。通過利用自然語言的力量,該研究中的開發(fā)人員使用GitHub Copilot Chat實時獲取指導、提示、故障排除、補救措施以及針對其特定編碼挑戰(zhàn)的解決方案,而所有這些都是在不離開集成開發(fā)環(huán)境(IDE)的情況下完成的。
研究發(fā)現(xiàn),啟用GitHub Copilot Chat后,編寫和審查的代碼質量全面提高,即使沒有一個開發(fā)人員以前使用過該功能。
-
85%的開發(fā)人員在使用GitHub Copilot和GitHub Copilot Chat編寫代碼時對自己的代碼質量更有信心;
-
使用GitHub Copilot Chat進行代碼審查更具操作性,完成速度提高了15%;
-
88%的開發(fā)人員表示,使用GitHub Copilot Chat時能夠保持流暢狀態(tài),因為他們感覺更專注、更少挫敗感,并且也更喜歡編碼。
去年,GitHub研究發(fā)現(xiàn),使用GitHub?Copilot的開發(fā)人員的編碼速度提高了55%。但快速開展工作只是其中的一部分——在許多情況下,快速完成工作和正確完成工作之間存在一種權衡。隨著人工智能繼續(xù)為越來越多的開發(fā)人員編寫代碼,確保好的代碼質量變得更加重要。
高質量的代碼是什么樣子的?
為了衡量代碼質量,GitHub制定了一個評分表,其中包括GitHub內部使用的五個度量標準,但也符合學術1和行業(yè)2標準。參與者可參考這些標準來區(qū)分強大的代碼與減緩工作速度的代碼。
可讀性
代碼是否遵循語言的習慣用法和命名模式?難以閱讀的代碼使維護、改進和記錄更具挑戰(zhàn)性。
可復用性
代碼是否以可復用的方式編寫?代碼復用是開發(fā)人員協(xié)作的基石。它節(jié)省了時間和精力,打破了信息孤島,并創(chuàng)造了整體的一致性。
簡潔性
代碼是否符合不重復(DRY, don’t repeat yourself)原則?代碼的重復性越少,就越容易閱讀、理解和構建。復雜的代碼可能會導致難以修復的錯誤和問題。
可維護性
代碼的編寫方式是否使功能清晰、透明并且與當前問題相關?維護良好的代碼意味著開發(fā)人員可以最大限度地減少依賴關系。可維護的代碼也會影響開發(fā)人員搜索和實踐代碼復用的能力。
彈性
代碼是否能夠預測和處理錯誤?如果出現(xiàn)錯誤,具有彈性的代碼將保持其功能性(或至少最小化中斷)。簡而言之,這對于確保代碼能夠正常工作大有幫助。
使用GitHub?Copilot編寫更高質量的代碼
這項研究調查了GitHub Copilot及其聊天機器人功能是否會提高代碼的質量、減少代碼審查所需的時間,并生成通過單元測試的代碼。從各個方面來看,開發(fā)人員在使用GitHub Copilot時都感覺到他們的編碼得到了改善。
85%的開發(fā)人員在使用GitHub?Copilot和Copilot Chat編寫代碼時對自己的代碼質量更有信心
GitHub Copilot Chat是一個聊天界面,讓您可以與GitHub Copilot進行交互,從支持的集成開發(fā)環(huán)境(IDE)中直接提出與編碼相關的問題并獲取答案。聊天界面提供了訪問編碼信息和支持的途徑,您無需瀏覽文檔或搜索在線論壇。目前,Copilot Chat支持Visual Studio Code和Visual Studio。
總之,開發(fā)人員告訴我們,與不使用GitHub Copilot編碼相比,他們感到使用GitHub Copilot和GitHub Copilot Chat編碼更容易、更少錯誤、更易讀、更可復用、更簡潔、更易維護且更具彈性。
“代碼非常干凈,我只需查看代碼就能理解其中的內容,并且相當容易地將其移植到我的代碼庫中。因此,我覺得代碼質量非常干凈且易于理解。在使用Copilot進行拉取請求審查時,我看到它非常擅長生成適當的錯誤處理代碼。”?
——財富500強公司的高級軟件工程師(研究參與者)
與沒有GitHub Copilot Chat的情況相比,代碼審查更具可操作性,完成速度提高了15%(這還包括首次使用的用戶?。?/strong>
以上是談論質量和速度的部分——因為是的,兩者兼得是可能的。
開發(fā)人員指出,使用GitHub Copilot Chat進行代碼審查提高了他們的代碼質量(與沒有使用它進行代碼審查相比)。使用 GitHub Copilot Chat進行代碼審查的速度比不使用時提高了15%。評論被接受的比例也更高。事實上,幾乎有70%的參與者接受了使用GitHub Copilot Chat的審查者評論。
這些結果顯示了GitHub Copilot Chat對協(xié)作的影響,以及在大型企業(yè)和大型工程團隊中擴展其潛在影響的可能性。減少在拉取請求和代碼審查上花費的時間意味著開發(fā)人員可以專注于優(yōu)先級更高的更改。而且,從一開始就提供更高質量的代碼,確保了代碼以后不需要回滾,也不需要進行額外的測試。
“我收到的更具可操作性的評論是與我代碼的概念理解有關——我希望其他開發(fā)人員能夠理解我在做什么,所以這是一條很好的反饋?!?/p>
——軟件工程師(研究參與者)
88%的開發(fā)人員表示使用GitHub Copilot Chat能夠保持心流狀態(tài)(一種心理狀態(tài),指個體在進行某項活動時全神貫注、投入其中,感受到時間流逝快、自我意識消失的狀態(tài)),因為他們感到更加專注,更少挫敗感,而且也更享受編碼。
去年的研究發(fā)現(xiàn),60-75%使用GitHub Copilot的開發(fā)者表示在工作中感到更有成就感,編碼時更少挫敗感,并且能夠更好地專注于更令人滿意的工作。在今年的研究中,88%的參與者同樣感到更少挫敗感,更加專注。導致這個結果的原因之一是,停留在IDE中意味著花費在搜索上的時間更少,而有更多的時間保持在那個令人向往的專注狀態(tài)中。
“因為我有十多年的行業(yè)經驗,我通常更喜歡用記事本或簡單的平臺進行編碼,而Copilot Chat是一個非常有用的工具,我不需要去Google或Stack Overflow就可以檢查基本內容。而且Copilot還有一個非常不錯的語法編輯功能?!?/p>
——高級系統(tǒng)驗證工程師(研究參與者)
GitHub如何開展這項研究
在這項研究中,目標是在受控環(huán)境中模擬編寫代碼、進行代碼審查,并納入代碼審查建議的過程。因此,每個參與者都被要求編寫代碼、審查代碼,然后檢查代碼審查的建議并合并更改。
GitHub招募了36名參與者,他們都具有5到10年的軟件開發(fā)經驗。在這項研究中,參與者使用GitHub Copilot Chat和不使用GitHub Copilot Chat來編寫和審查代碼。(參與者對使用GitHub Copilot有一些經驗,但對使用GitHub Copilot?Chat沒有經驗。)
參與者被要求為一個HTTP服務編寫API端點,該服務負責創(chuàng)建、讀取和刪除對象。他們被隨機分配到使用GitHub Copilot Chat來創(chuàng)建、讀取和刪除API端點的組。在使用GitHub Copilot Chat之前,開發(fā)人員觀看了關于其功能的簡短視頻。參與者為他們在創(chuàng)建API端點上的工作創(chuàng)建了一個拉取請求,并為讀取和刪除部分創(chuàng)建了另一個拉取請求。
在編寫API端點的代碼后,參與者比較了使用GitHub?Copilot Chat對他們編寫的代碼質量的影響。具體來說,他們被問及這項任務是否更容易完成、代碼是否更少出現(xiàn)錯誤,以及代碼是否更易讀、可復用、簡潔、可維護和有彈性。
會議結束后,開發(fā)人員被分配到該研究的另一位參與者編寫的兩個拉取請求。參與者不知曉這些拉取請求是否在編寫中使用了Copilot,但被要求對其進行審查,并提供關于如何改進代碼的建議。然后,他們評估了使用和不使用GitHub Copilot Chat進行審查的過程。然后,他們使用上述標準對代碼的質量進行評分,衡量代碼是否易讀、可復用且結構良好。
在另一個參與者審查完他們的代碼后,最初編寫代碼的參與者查看了拉取請求上的評論,以確定哪些評論對改進代碼的質量有幫助,以及評論的可操作性如何。同樣,這些參與者不知曉哪些拉取使用了Copilot Chat,哪些沒有。
GitHub Copilot Chat的承諾:代碼質量更高,編碼速度更快
做事快和做事好之間是有區(qū)別的。但事實證明,使用GitHub Copilot Chat您就可以兩者兼得。
GitHub開發(fā)了GitHub Copilot和GitHub Copilot Chat的初衷是通過幫助開發(fā)人員集中注意力、保持工作狀態(tài),并讓他們在工作中找到更多樂趣,從而改善開發(fā)人員的生活。研究結果表明,這些AI工具確實做到了這些,GitHub也期待著構建下一個更強大的工具。
鳴謝
由衷感謝所有參與這項研究的開發(fā)人員,GitHub一直樂于聽取您的建議!GitHub客戶研究團隊在GitHub Next的協(xié)助和咨詢下進行了此項研究。文章來源:http://www.zghlxwxcb.cn/news/detail-794530.html
文章來源:https://github.blog/2023-10-10-research-quantifying-github-copilots-impact-on-code-quality/文章來源地址http://www.zghlxwxcb.cn/news/detail-794530.html
到了這里,關于最新研究發(fā)現(xiàn),85%的開發(fā)人員使用GitHub Copilot和Copilot Chat時對代碼質量更有信心的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!