Baidu Comate
Baidu Comate,智能代碼助手,憑借著文心大模型的強大支撐,結合了百度多年的編程實戰數據和豐富的開源資源,形成了一款嶄新的編碼輔助利器。它不僅具備著高智能、多場景、價值創造的特質,更可廣泛應用于各種編碼任務中,實現著 '幫你想、幫你寫、幫你改' 的全方位輔助。Baidu Comate,是釋放編碼效率、釋放軟件生產力的典范。
安裝使用
安裝方面,我通過IDEA的插件進行了體驗。在插件市場中下載安裝后,重啟IDE。
重啟之后,右下角回彈出登陸提醒,然后進行登陸。
登陸之后返回IDEA,側邊欄會有BaiduComate,點開會有對話框。
使用體驗
通過官網了解該產品,我主要看重的功能有以下幾個,通過一個項目測試一下。
1.快速上手項目
當前我有一個meetingroom的項目,模擬我第一次接觸該項目,我可以讓Baidu Comate幫我分析該目錄的架構以及里面的文件,快速的上手該項目。
分析一下左邊項目的架構
分析左邊meetingroom目錄下的文件
在
meetingroom
目錄下,主要包含了項目的核心控制器(Controller
)、服務實現(ServiceImpl
)以及實體類(Entity
)等文件。下面是對這些文件的分析:控制器層(Controller)
在
com.meetingroom.controller
包中,MeetingroomController
類定義了會議室相關的RESTful API接口。這些接口包括:
查詢所有會議室信息?(
/list
):該方法接受一個參數映射params
,然后調用meetingroomService
的queryPage
方法查詢分頁數據,并返回查詢結果。通過ID查詢指定會議室信息?(
/info/{roomId}
):該方法通過@PathVariable
注解獲取路徑變量roomId
,然后調用meetingroomService
的getById
方法查詢單個會議室實體,并返回查詢結果。新增會議室信息?(
/save
):該方法使用@RequestBody
注解接收前端發送的MeetingroomEntity
對象,然后調用meetingroomService
的save
方法保存會議室信息,并返回添加成功的結果。修改會議室信息?(
/update
):與新增會議室信息類似,該方法也接收一個MeetingroomEntity
對象,但它是用于更新已有的會議室信息。服務實現層(ServiceImpl)
在
com.meetingroom.service.impl
包中,MeetingroomServiceImpl
類實現了MeetingroomService
接口。當前僅給出了queryPage
方法的實現:
- 查詢分頁數據?(
queryPage
):該方法使用了MyBatis-Plus的分頁功能,構建了一個IPage
對象進行分頁查詢,然后利用QueryWrapper
進行條件查詢。最后,將查詢結果封裝到PageUtils
對象中返回。實體類(Entity)
在
com.meetingroom.entity
包中,MeetingroomEntity
類代表了會議室實體,但具體的字段和屬性沒有給出。另外,還有一個FileEntity
類,它代表了文件實體,包含了文件編號、名稱、類型、大小、存儲位置、邏輯刪除狀態、創建和更新時間以及創建和更新人的字段。配置文件
在
resources
目錄下,有兩個配置文件application-prod.yml
和application-dev.yml
,分別用于生產環境和開發環境的配置。這些配置文件包含了數據庫連接信息、MyBatis-Plus配置、服務器端口號以及JWT認證配置等。
#AccountService.java 分析該文件內容
通過以上的提問可以快速了解項目,以及具體文件的內容。
2.輔助項目開發
在書寫的時候Baidu Comate就可以提供書寫建議,按住Control+向下鍵逐行采納,按住Control+向右鍵逐個采納,Tab采納。
請解釋下面的函數
根據左側的Entit生成對應的service和Controller,要增加升檔的注釋,保持風格一致,給出完整的代碼
在官網上,還有另外一些實操場景
- 根據當前文件里的SQL,創建對應的PO、mapper,要增加適當的注釋、注解、保持風格一致,給出完整代碼
- 梳理實體,幫我生成建表SQL,要求根據對應的查詢方法,給出合適的索引,并且要增加注釋
- 參考ProjectController示例,給我生成一個ReportController,要有報告的增刪改查方法,保持編碼風格一致
- 參考AgentPO及其Repository,編寫PlanPO的相關方法,代碼要完整,不要省略
3.測試部署
Baidu Comate還提供了測試樣例的功能,這對于開發者來說是一個極大的幫助。測試樣例可以幫助開發者驗證他們的代碼是否符合預期的行為,并幫助他們發現潛在的錯誤和問題。
通過提供測試樣例,Baidu Comate使得測試變得更加簡單和高效。開發者可以快速創建和運行測試樣例,從而更加自信地提交他們的代碼。
這里有快捷操作,可以生成選中代碼的測試代碼
在BaiduComate官方,還有基于現有代碼生成復雜單測的案例
總結
總的來說,Baidu Comate以其高智能、多場景、價值創造的特點,為開發者提供了全方位的編碼輔助,助力提高編碼效率和釋放軟件生產力。我很欣賞它能對整個項目進行分析,這對于一個項目的快速上手大有裨益。通過分析項目架構和文件內容,開發者可以快速了解項目的整體結構和各個文件的作用,從而更加迅速地融入到項目開發中。這種功能不僅節省了開發者的時間,也提高了他們的工作效率,讓開發過程更加順暢。期待在使用的過程中能發掘出更高效更有趣的玩法,進一步提升編碼體驗。