Amazon Q Developer 是 AWS 的軟體開發 AI 助理,可在程式碼編輯器、命令列和 AWS 主控台中使用;新手可以先試用免費方案,取得程式碼建議並詢問 AWS 相關問題。
特色: Amazon Q in the AWS Management Console, Java upgrade transformation, Diagnose with Amazon Q
程式設計
先請程式設計工具解釋程式碼,一次只做一個小修改,並自己測試每一項。
適合的工具類型:程式設計
實作範例:一個遇到空串列就會當掉的 Python 函式
例如
這個函式所在的檔案裡也有一組 API 金鑰。只複製函式,絕對不要複製金鑰。
例如
你輸入的內容
這個 Python 函式應該回傳一串數字的平均值: def average(numbers): return sum(numbers) / len(numbers) average([2, 4, 6]) 可以正常執行,但 average([]) 會中止並顯示:ZeroDivisionError: division by zero如果是空串列,它應該回傳 None。
例如
你輸入的內容
先解釋這個函式的每個部分在做什麼,以及為什麼空串列會出錯。先不要修改程式碼。範例回答,由我們撰寫。你的工具給的回答會不一樣。
sum(numbers) 會把數字加總,len(numbers) 會計算有幾個數字。如果是空串列,兩者都是 0,而 Python 無法除以零,所以會引發 ZeroDivisionError。例如
你輸入的內容
現在建議一個最小的修改,讓空串列回傳 None。範例回答,由我們撰寫。你的工具給的回答會不一樣。
def average(numbers): if not numbers: return None return sum(numbers) / len(numbers)
例如
兩種情況都自己執行一次:average([2, 4, 6]) 應該得到 4.0,average([]) 應該得到 None。讀一下新增的兩行:它們只處理空串列,沒有改動其他地方。
這是一段[程式語言]程式碼:
[程式碼]
它應該[預期的行為],但實際上卻[實際的行為或錯誤訊息]。
先一步一步解釋這段程式碼在做什麼。
再建議一個可能修好它的最小修改,並說明原因。
告訴我如何測試這個修正。要求 AI 標出不確定之處,並不會讓它的答案變正確。重要的部分仍要繼續查證。
依名稱列出,不是排名。只有同類型的工具才能並列比較。
Amazon Q Developer 是 AWS 的軟體開發 AI 助理,可在程式碼編輯器、命令列和 AWS 主控台中使用;新手可以先試用免費方案,取得程式碼建議並詢問 AWS 相關問題。
特色: Amazon Q in the AWS Management Console, Java upgrade transformation, Diagnose with Amazon Q
Cursor 是 Anysphere 推出的 AI 程式碼編輯器和程式設計代理,以桌面應用程式、命令列工具和雲端代理的形式運作;新手可以試著在打字時取得程式碼建議,或請代理解說和修改專案。
特色: Tab, Cloud Agents, Bugbot
GitHub Copilot 是 GitHub 的 AI 程式設計助理,可用於程式碼編輯器、命令列、GitHub.com、GitHub Mobile 和桌面應用程式;新手可以試著在打字時取得程式碼建議,並詢問有關程式碼庫的問題。
特色: Copilot cloud agent, Copilot code review, Third-party coding agents (Claude and Codex)
JetBrains AI Assistant 是一個外掛程式,可為 JetBrains IDE 加入 AI 聊天、程式碼自動完成和程式設計代理;新手可以試著在 IntelliJ IDEA 或 PyCharm 中用它取得程式碼建議,並詢問專案相關問題。
特色: JetBrains Air in IDEs, Junie, Claude Agent and Codex in AI Chat
Tabnine 是適用於程式碼編輯器和終端機的 AI 程式設計助理,現由 Tricentis 擁有,目前的文件說明的是企業方案;如果你的組織提供存取權,新手可以用它進行程式碼自動完成,以及針對程式碼庫聊天。
特色: Private installation (on-premises or VPC), Context Engine, Provenance and Attribution