通義靈碼實踐教程——企業級能力使用實踐
點擊此處,立即下載通義靈碼!https://tongyi.aliyun.com/lingma/
企業代碼補全增強使用實踐
通義靈碼提供了企業代碼補全增強的能力,在開發者使用通義靈碼 IDE 插件的行間代碼生成時,可以結合企業上傳的代碼庫作為上下文進行行間代碼補全,使代碼補全更加貼合企業代碼規范、業務特點。本文將分享如何構建高質量的企業代碼庫,以及開發者在前端和后端開發場景的使用實踐。
適用版本與支持語言

管理員如何準備高質量企業代碼庫
為確保代碼數據的有效處理,我們建議您遵循以下指導原則來準備代碼庫。這將有助于提升檢索的效率與準確性。
準備指南
-
上傳限制僅適用于源代碼文件,代碼庫中應僅上傳實際編寫的源代碼文件。例如,對于Java應上傳.java文件,對于C#應上傳.cs文件,對于JavaScript應上傳.js或.jsx文件等。
-
請避免上傳以下內容。
- 測試數據與代碼:請勿上傳測試腳本、測試用例或任何不包含業務邏輯的測試相關代碼。
- Mock方法:排除所有由模擬方法和工具生成的代碼,除非這些代碼包含對業務邏輯的具體實現。
- 構建產物:
- 前端:排除通過構建工具(如Webpack、Gulp等)生成的文件,這些文件通常位于dist或build目錄下。
- 后端:排除編譯生成的DLL文件及其他所有編譯輸出。
- 注釋要求如下。
- 對希望被檢索到的函數,在函數頭部應添加詳盡的注釋。
- 注釋應提供充分的信息以區分不同的函數,建議參考注釋模板或根據企業規范進行相應調整。
/**
* 更新指定訂單狀態。
*
* @param orderId 訂單的唯一標識符。
* @param newStatus 新的訂單狀態。
* @return boolean 表示更新是否成功。
*/
- 函數名稱規范要求。
- 如果函數注釋較為簡單,則函數名稱必須能夠準確描述其功能。
- 使用清晰且具描述性的命名方式,例如:exportOrdersToPDF、updateOrderStatus而不是 func1。
上傳指南
- 打包壓縮文件:將代碼文件打包為.zip、.gz或.tar.gz格式。
- 代碼包大小限制:每個代碼包的大小不得超過100 MB。
開發者如何使用企業代碼生成增強
插件版本要求
僅適用于 VS Code 1.3.9 及以上版本,以及 JetBrains IDEs 1.3.10 及以上版本。
后端場景使用實踐
- 通過自然語言注釋生成代碼。
a. 企業代碼庫代碼上傳:上傳包含所需功能代碼的壓縮包至企業代碼庫,例如雪花算法的代碼,并確保目標函數遵循注釋規范,注釋位于函數頭部。更詳細代碼庫準備指南請參見上述管理員如何準備高質量企業代碼庫。
/**
* 使用雪花算法生成唯一序列號
* @param workerId
* @return
*/
public synchronized Long getSnowFlowerId(long workerId){
long id = -1L;
if (workerId < 0 || workerId > snowFlowerProperties.getMaxWorkerId()) {
throw new IllegalArgumentException(
String.valueOf("workerID must gte 0 and lte " + snowFlowerProperties.getMaxWorkerId()));
}
// ... 算法實現代碼 ...
return id;
}
b. 輸入注釋:在集成開發環境(IDE)中定位到某Java類內,輸入與期望召回的函數相匹配的注釋。注釋格式可以靈活,但應確保含義的準確性和一致性。
第一種方式
//請通過雪花算法生成唯一編號的代碼,返回生成的id
第二種方式
/**
* 使用雪花算法生成唯一序列號
* @param wId
* @return
*/
注釋說明。
- 注釋長度要求:在編寫代碼時,注釋應盡量避免過于簡短,建議長度至少15個字符,過短的注釋將無法觸發召回。
- 注釋語義要求:確保注釋的語義準確且有意義,最好包含關鍵詞與返回值說明,以便通義靈碼準確地理解和匹配相應的代碼。
- 多語言支持:支持中英文注釋,代碼庫中的注釋和實際編碼時的注釋可以使用不同的語言。
- 參數名稱靈活性:參數名稱可以靈活處理,通義靈碼會根據提供的參數自動調整以匹配召回的代碼。如下反例。
- //雪花算法問題:沒有提供足夠的信息,注釋長度過短。
- //生成唯一序列號問題:沒有使用具體關鍵詞,可能會影響理解和匹配效果。
c. 代碼生成:首次回車后,靈碼將提供基于注釋生成補全建議;再次回車后,靈碼將根據企業代碼庫中的代碼進行補全。

說明:
- 如果您的注釋中包含參數,靈碼將自動調整生成代碼中的參數,確保命名一致性。
- 如果需要刷新緩存獲取新的補全建議,macOS可以使用?(option) P 手動觸發行間補全,Windows可以使用Alt P手動觸發。
- 通過函數簽名生成代碼。
a. 代碼庫代碼上傳:上傳包含所需功能代碼的壓縮包至企業代碼庫,并確保這些函數具有清晰且獨特的標識,以便于檢索和識別。更詳細代碼庫準備指南請參見上述管理員如何準備高質量企業代碼庫。
b. 輸入函數簽名:在集成開發環境(IDE)中定位到某Java類內,鍵入目標函數的簽名部分。參數名稱可以靈活處理,通義靈碼會根據提供的參數自動調整以匹配召回的代碼。
public List<Object> nextList(String name, int size)
函數簽名說明。
- 函數名稱:使用較為清晰的函數名稱,需要具備一定語義作為相似性依據。
- 參數和返回值:類型和順序需要與目標函數保持一致,但參數名稱可以靈活處理,通義靈碼會根據提供的參數自動調整以匹配召回的代碼。如下反例。
- public List

浙公網安備 33010602011771號