AI 程式碼輔助工具研究 GitHub Copilot && Amazon Q Developer 為例

KouWei.Lee
Feb 8, 2025

--

GitHub Copilot && Amazon Q Developer實測目前使用上能做到的有限.
以下四項特點優勢與其他評估弱點

1.簡化從構想到coding出來的過程

  • 自然語言陳述轉換為code

評估:複雜的業務邏輯效果可能有限

使用指令:Q: /q dev|Copilot : TAB 接受建議

2.程式碼升級(Amazon Q獨有)

  • 專案Java 8升級到Java11或17

評估:目前先決條件是要是Maven專案

評估:自動升級的速度不快官方展示大約花40mins

使用指令:/q transform 進行JAVA 8 自動升級JAVA 17

3.加速code review速度

  • 能做到的review: code 可讀性建議、減少重複性、建議抽取共用、安全性

評估:基本程式碼寫法通則可以做到審查,但做到使用部門內部的開發守則去review沒辦法

評估:Amazon Q 可做到基礎原始碼檢測(白箱)弱點漏洞修補建議,
如在Fortify SCA有企業安全合規則還是需手動調整

使用指令:/q review 此案例為SQL injection漏洞指出

4. 撰寫單元測試

  • 可針對特定行數產生單元測試

評估:基本單元測試可生成如業務情境較複雜測試覆蓋率不足需手動添加

使用指令:Copilot : /tests 可選取特定行數自動生成測試案例

AI 程式碼輔助工具差異

參考資料

什麼是適用於 Visual Studio 的 GitHub Copilot 完成?

Mastering Amazon Q Developer in JetBrains IDEs: Installation, Configuration, and Practical Usage for Enhanced Productivity

Upgrading Java versions with Amazon Q Developer

Reviewing code with Amazon Q Developer

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet