![]()
身為開發者,我們早已超越將 AI 視為「類固醇版的自動完成」的階段。如今,真正的生產力提升來自於將 AI 深度整合到整個軟體開發生命週期 (SDLC) 中。
在本文中,我將帶領你走過我使用 GitHub Copilot 的日常工作流程——從透過 Model Context Protocol (MCP) 整合分析 Jira 票證,到最終確定架構方法、除錯,以及產生完整的測試套件。
在深入工作流程之前,你需要有合適的環境。
先決條件:
@jira 來引用票證。重要 Copilot 快捷鍵速查表:
Cmd + I (Mac) / Ctrl + I (Windows) —— 這是你會使用到最重要的快捷鍵。Cmd + Ctrl + I / Ctrl + Alt + I
Tab
Option + ] / [ / Alt + ] / [
Option + / Alt +
開發過程中最大的時間消耗並非撰寫程式碼,而是理解該寫「什麼」程式碼。將 Copilot 與 Jira 連結後,你就能跳過上下文切換的步驟。
不用再開啟 Jira、閱讀冗長的討論串並試圖解析實際需求,我會直接開啟 Copilot Chat 並輸入提示:
@jira Summarize ticket PROJ-1234. What are the core acceptance criteria and which specific microservices are likely impacted based on the description?
Copilot 透過整合解析票證,並提供簡潔的項目符號需求清單。如果票證內容模糊,我會使用 Copilot 產生澄清問題來詢問產品負責人。
一旦需求明確,我不會立即開始撰寫程式碼。我會使用 Copilot Chat 作為討論平台來最終確定我的架構方法。
假設票證需要發布一個新的領域事件,我會開啟 Copilot Chat 並寫下:
I need to implement the requirements from PROJ-1234. I am considering using Apache ActiveMQ Artemis for asynchronous messaging between the Order Service and the Billing Service. Can you outline a high-level approach for this, including potential drawbacks like message duplication?
Copilot 就像資深的配對夥伴,驗證方法、提醒我邊緣案例(例如冪等性),並建議大致的步驟順序。這確保我在寫任何一行 Java 程式碼之前,邏輯都是穩固的。
方法確定後,我就開始實作。
撰寫程式碼:
我大量依賴 內嵌聊天 (Cmd/Ctrl + I)。我會在類別內選取一塊空白區域並提示:
Create a REST endpoint to process incoming claims. It should validate the payload, save it to the DB, and publish an event to the Artemis MQ topic 'claims.incoming'.
除錯與重構:
當出現問題時,Copilot 在根本原因分析上表現出色。如果複雜的串流操作拋出 NullPointerException 或未通過邏輯檢查,我會選取程式碼並在聊天中使用 /explain 或 /fix 斜線指令。
/fix This method is throwing a ConcurrentModificationException when processing a batch of claims larger than 1000. How can we safely chunk or process this?
Copilot 不僅提供修正後的程式碼片段,還會解釋錯誤「為什麼」發生,幫助我在過程中學習。
撰寫測試對於零缺陷部署至關重要,但撰寫 Mockito 的樣板設定可能相當繁瑣。Copilot 大幅加速了這個過程。
當服務類別完成後,我會開啟它,按下 Cmd/Ctrl + I,然後輸入:
/tests Generate comprehensive JUnit 5 tests for this class using Mockito. Include edge cases for null inputs, database connection timeouts, and successful message publishing.
Copilot 會產生測試檔案,並包含 @Mock 和 @InjectMocks 註解。
整合測試小技巧: 對於需要 Docker 或 Testcontainers 的複雜整合測試,我會提供 Copilot 一個我們程式碼庫中現有整合測試的範例,然後說:
Using this file as a template, generate an integration test for the new ClaimProcessingService.
GitHub Copilot 已不再只是程式碼補全工具;它是一個具備上下文意識的開發助手。將它整合到每一個步驟中——從透過 MCP 理解 Jira 需求,到腦力激盪架構與產生 Mockito 測試套件——你可以省下數小時的樣板工作和上下文切換,讓自己專注於解決複雜的工程問題。
你已經將 Copilot 與你的專案管理工具整合了嗎?在留言中分享你最喜歡的提示吧!
如果你想自己設定這個工作流程,以下是幫助你入門的官方文件:
免責聲明:本文所詳述的工作流程、架構概念與工程經驗皆為我個人心得。我使用了 AI 工具來協助此文字的格式化、結構化與措辭。