[發明專利]代碼圈復雜度檢測方法、裝置及存儲介質在審
| 申請號: | 202011543564.1 | 申請日: | 2020-12-23 |
| 公開(公告)號: | CN112527679A | 公開(公告)日: | 2021-03-19 |
| 發明(設計)人: | 張佳帥 | 申請(專利權)人: | 平安普惠企業管理有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/75 |
| 代理公司: | 深圳市沃德知識產權代理事務所(普通合伙) 44347 | 代理人: | 高杰;于志光 |
| 地址: | 518000 廣東省深圳市前海深港合作區前*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 代碼 復雜度 檢測 方法 裝置 存儲 介質 | ||
本發明涉及圖像處理技術領域,揭露一種代碼圈復雜度檢測方法,包括:通過本地命令行獲取代碼檢測指令并根據代碼檢測指令獲取待檢測代碼;獲取待檢測代碼所屬項目對應的代碼圈復雜度規則;通過預設的代碼分類模型選擇對應的圈復雜度計算方法對待檢測代碼進行計算得到代碼圈復雜度數值,根據代碼圈復雜度數值和代碼圈復雜度規則生成代碼圈復雜度報告;根據代碼圈復雜度報告生成代碼修改建議,展示代碼圈復雜度報告和代碼修改建議結合生成的代碼檢測結論。本發明通過對不同項目的代碼采用不同的代碼圈復雜度規則進行靈活檢測且提供具體的代碼修改建議,并采用單獨的檢測工具檢測代碼以降低耦合性,實現對代碼從圈復雜度檢測到修改建議的一站式處理。
技術領域
本發明涉及數據分析技術領域,尤其涉及一種代碼圈復雜度檢測方法、電子裝置及計算機可讀存儲介質。
背景技術
圈復雜度(Cyclomatic complexity,簡稱CC,符號為VG或M)又稱條件復雜度或循環復雜度,是一種代碼圈復雜度的衡量標準。在軟件測試領域,圈復雜度用于衡量一個模塊判定結構的復雜程度,數量上表現為線性無關的路徑條數,即合理地預防錯誤所需測試的最少路徑條數。圈復雜度大說明程序代碼可能質量低且難于測試和維護,圈復雜度越高,程序出錯的概率也越高。因此對代碼圈復雜度的檢測也很有必要。
當前,對代碼圈復雜度的檢測工具分為嵌入式和插件式兩種。其中,嵌入式工具包括eslint、standard,需要作為包體嵌入項目代碼中,使代碼體積變大,檢測過程較長,影響檢測性能;且在檢測完成后還需要花費額外的精力從項目代碼中刪除包體。插件式工具包括codeSonar,RhodeCode。這些工具主要用于語法等代碼規范檢測,并非專門的圈復雜度檢測工具,在進行圈復雜度的檢測時,功能不夠完善,對圈復雜度的檢測能力較差。
發明內容
鑒于以上內容,有必要提供一種代碼圈復雜度檢測方法,用于全面而靈活地檢測代碼的圈復雜度。
本發明提供的代碼圈復雜度檢測方法,包括:
通過本地命令行獲取代碼檢測指令,所述代碼檢測指令包括待檢測代碼所在的文件地址,根據所述代碼檢測指令獲取待檢測代碼;
檢測所述待檢測代碼所在的文件所屬的項目,獲取所述項目對應的項目標識,根據所述項目標識獲取對應的代碼圈復雜度規則;
通過預設的代碼分類模型獲取所述待檢測代碼對應的圈復雜度計算方法,根據所述待檢測代碼對應的圈復雜度計算方法對所述待檢測代碼進行計算得到代碼圈復雜度數值,根據所述代碼圈復雜度數值和所述代碼圈復雜度規則生成所述待檢測代碼的代碼圈復雜度報告;
根據所述代碼圈復雜度報告生成代碼修改建議,將所述代碼圈復雜度報告和所述代碼修改建議結合生成代碼檢測結論并展示所述代碼檢測結論。
可選地,所述根據所述代碼檢測指令獲取待檢測代碼包括:
遍歷全部待檢測代碼所在的文件,篩除預先設置的無需檢測的代碼,并將篩選出的代碼作為待檢測代碼。
可選地,所述代碼圈復雜度規則為預設的固定格式表格,包括圈復雜度數值的多個區間以及各個區間對應的代碼狀況、可測性和維護成本。
可選地,所述代碼圈復雜度檢測方法還包括:
在新建項目創建完成后,獲取所述新建項目對應的圈復雜度數值的各個區間的具體數值;
根據所述新建項目對應的圈復雜度數值的各個區間的具體數值創建對應的代碼圈復雜度規則,并將所述代碼圈復雜度規則和所述新建項目的項目標識以一對一的映射關系存儲在本地數據庫中。
可選地,所述通過預設的代碼分類模型獲取所述待檢測代碼對應的圈復雜度計算方法包括:
根據預設的關鍵詞詞典檢測所述待檢測代碼的關鍵詞;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于平安普惠企業管理有限公司,未經平安普惠企業管理有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011543564.1/2.html,轉載請聲明來源鉆瓜專利網。





