[發明專利]前端代碼分析方法、裝置、計算機設備及存儲介質有效
| 申請號: | 201911346838.5 | 申請日: | 2019-12-24 |
| 公開(公告)號: | CN111190818B | 公開(公告)日: | 2023-07-21 |
| 發明(設計)人: | 李靜 | 申請(專利權)人: | 中國平安財產保險股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 深圳市世聯合知識產權代理有限公司 44385 | 代理人: | 汪琳琳 |
| 地址: | 518000 廣東省深圳市福田區益田路*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 前端 代碼 分析 方法 裝置 計算機 設備 存儲 介質 | ||
1.一種前端代碼分析方法,其特征在于,包括下述步驟:
獲取待分析的前端代碼;所述前端代碼包括超級文本標記代碼、腳本代碼和層疊樣式表代碼;
對所述超級文本標記代碼進行分析以獲得所述超級文本標記代碼的層級復雜度值和超級文本標記代碼行數值;
對所述腳本代碼進行分析以獲得所述腳本代碼的時間復雜度值和機器代碼行數值;
對所述層疊樣式表代碼進行分析以獲得所述層疊樣式表代碼的動畫復雜度值和層疊樣式表代碼行數值;
將所述層級復雜度值、所述超級文本標記代碼行數值、所述時間復雜度值、所述機器代碼行數值、所述動畫復雜度值和所述層疊樣式表代碼行數值在交互界面進行展示;
所述對所述超級文本標記代碼進行分析以獲得所述超級文本標記代碼的層級復雜度值和超級文本標記代碼行數值包括:
遍歷所述超級文本標記代碼對應的DOM樹以獲得所述超級文本標記代碼的各個層級標簽在所述超級文本標記代碼中出現的次數;
計算各個層級標簽的次數的加權和,以所述加權和為所述層級復雜度值;
識別所述超級文本標記代碼中的行數標識字符,以所述行數標識字符在所述超級文本標記代碼中出現的次數為所述超級文本標記代碼行數值;
所述對所述腳本代碼進行分析以獲得所述腳本代碼的時間復雜度值和機器代碼行數值包括:
識別所述腳本代碼中的分割字符,提取每兩個分割字符間的腳本代碼以作為各個語句片段;
識別每個語句片段中的語句類型字符,并根據所述語句類型字符確定每個語句片段對應的機器代碼行數;
將各個語句片段對應的機器代碼行數相加以得到機器代碼行數值;
識別各個語句片段中的循環標識字符,將包含有所述循環標識字符的語句片段作為循環語句片段;
識別所述循環語句片段中的條件字符,并根據所述條件字符獲得所述循環語句片段的循環次數;
將各個所述循環語句片段對應的循環次數相加以得到時間復雜度值;
所述對所述層疊樣式表代碼進行分析以獲得所述層疊樣式表代碼的動畫復雜度值和層疊樣式表代碼行數值包括:
識別所述層疊樣式表代碼中的動畫標簽字符,并統計各個動畫標簽字符的出現次數;
將動畫標簽字符的起始項數與動畫標簽字符的出現次數相加以作為動畫標簽的映射項數;所述起始項數是針對各個動畫標簽預設的正整數;
以映射項數在斐波拉契數列中對應的數值為動畫標簽字符的動畫復雜度值;
將各個動畫標簽字符的動畫復雜度值相加以作為所述層疊樣式表代碼的動畫復雜度值;
識別所述層疊樣式表代碼中的行數標簽字符,以所述行數標簽字符的出現次數作為所述層疊樣式表代碼行數值。
2.根據權利要求1所述的前端代碼分析方法,其特征在于,遍歷所述超級文本標記代碼對應的DOM樹時,還獲取各個層級標簽對應的層級權值,所述層級權值是一個隨層級標簽的層級深度增加而增加的斐波那契數列,所述計算各個層級標簽的次數的加權和包括:
將所述層級權值作為各個層級標簽的次數的加權計算所述次數的加權和。
3.根據權利要求1所述的前端代碼分析方法,所述根據所述條件字符獲得所述循環語句片段的循環次數包括:
判斷所述條件字符的字符類型;所述字符類型包括數字字符和字母字符;
當所述條件字符是數字字符時,以所述條件字符表示的數值為所述循環語句片段的循環次數;
當所述條件字符是字母字符時,在所述腳本代碼中查找所述字母字符的賦值語句,以所述賦值語句中的賦值為所述循環語句片段的循環次數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國平安財產保險股份有限公司,未經中國平安財產保險股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911346838.5/1.html,轉載請聲明來源鉆瓜專利網。





