System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及數(shù)據(jù)查詢處理,具體為一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法。
技術(shù)介紹
1、vue是一個(gè)輕量級、靈活和高效的javascript框架,用于構(gòu)建交互式的用戶界面,它采用了組件化的開發(fā)模式,使得前端開發(fā)變得更加簡單和可維護(hù),vue提供了一套響應(yīng)式的數(shù)據(jù)綁定和組件化系統(tǒng),以及強(qiáng)大的工具和插件生態(tài)系統(tǒng),使開發(fā)者能夠快速構(gòu)建高質(zhì)量的web應(yīng)用程序,eslint是一個(gè)可配置的靜態(tài)代碼分析工具,用于標(biāo)識和報(bào)告javasccript代碼中的問題、錯(cuò)誤和潛在的不規(guī)范,同時(shí),eslint也是一個(gè)靈活的工具,可以根據(jù)項(xiàng)目的需求進(jìn)行自定義配置,以適應(yīng)不同的開發(fā)環(huán)境和團(tuán)隊(duì)風(fēng)格它可以幫助開發(fā)者維持一致的代碼風(fēng)格,并發(fā)現(xiàn)可能引起bug或?qū)е虏涣即a質(zhì)量的問題eslint提供了一系列的規(guī)則,用于檢查代碼的語法、代碼風(fēng)格、最佳實(shí)踐以及可以改善性能的問題。
2、開發(fā)團(tuán)隊(duì)可以根據(jù)自己的需求和偏好,選擇啟用或禁用不同的規(guī)則,以定制自己的代碼規(guī)范,vue作為一個(gè)強(qiáng)大的前端框架,其自身配備了一套獨(dú)具特色的自定義模板語言,就目前的情況而言,盡管vue的這套模板語言具備著強(qiáng)大且豐富的功能,然而,與傳統(tǒng)的編程語言相較,在針對其模板語言的質(zhì)量檢測方面,所采用的方法相對而言存在一定的欠缺與不足,該狀況進(jìn)而致使相關(guān)程序的質(zhì)量在很大程度上完全取決于開發(fā)人員自身所積累的經(jīng)驗(yàn)水平。
3、針對上述問題,急需在原有數(shù)組查找表達(dá)式方法的基礎(chǔ)上進(jìn)行創(chuàng)新設(shè)計(jì)。
技術(shù)實(shí)現(xiàn)思路
1、本專利技術(shù)的目的在于提供一種
2、為實(shí)現(xiàn)上述目的,本專利技術(shù)提供如下技術(shù)方案:一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,包括以下檢測步驟:
3、s1.使用vue-eslint-parser作為eslint的解析器,將vue組件解析成ast;
4、s2.經(jīng)過自定義vue模版中數(shù)組查找表達(dá)式eslint檢測規(guī)則,遍歷導(dǎo)出對象的所有屬性節(jié)點(diǎn),查找出vue模版中的所有的函數(shù)調(diào)用節(jié)點(diǎn);
5、s3.啟用eslint自定義規(guī)則對vue項(xiàng)目進(jìn)行檢測,過濾掉所有函數(shù)調(diào)用節(jié)點(diǎn)中的不是數(shù)組查找的節(jié)點(diǎn);
6、s4.遍歷所有函數(shù)調(diào)用節(jié)點(diǎn),提取其被查找數(shù)組節(jié)點(diǎn)和查找主鍵節(jié)點(diǎn)及查找參數(shù)節(jié)點(diǎn);
7、s5.遍歷所有函數(shù)調(diào)用節(jié)點(diǎn),基于其被查找數(shù)組節(jié)點(diǎn)和查找參數(shù)節(jié)點(diǎn)生成數(shù)組查找表達(dá)式eslint修復(fù)方法;
8、s6.遍歷ast獲得默認(rèn)導(dǎo)出聲明節(jié)點(diǎn);
9、s7.獲取默認(rèn)導(dǎo)出聲明節(jié)點(diǎn)的導(dǎo)出對象的所有屬性節(jié)點(diǎn);
10、s8.遍歷導(dǎo)出對象的所有屬性節(jié)點(diǎn),獲得computed屬性節(jié)點(diǎn);
11、s9.遍歷所有的函數(shù)調(diào)用節(jié)點(diǎn),基于其被查找數(shù)組節(jié)點(diǎn)、查找主鍵節(jié)點(diǎn)和computed屬性節(jié)點(diǎn)生成computed計(jì)算屬性eslint修復(fù)方法;
12、s10.遍歷所有的函數(shù)調(diào)用節(jié)點(diǎn),基于其數(shù)組查找表達(dá)式eslint修復(fù)方法和computed計(jì)算屬性eslint修復(fù)方法和函數(shù)調(diào)用節(jié)點(diǎn)生成eslint檢測報(bào)告。
13、采用上述技術(shù)方案,有效配合團(tuán)隊(duì)在數(shù)組查找中確保代碼質(zhì)量與一致性。
14、優(yōu)選的,所述s3中的eslint自定義規(guī)則上下文的getsourcecode方法獲取源代碼操作對象,且只用源代碼操作對象的gettext方法獲得函數(shù)名節(jié)點(diǎn)對應(yīng)的代碼串。
15、采用上述技術(shù)方案,便于對所有函數(shù)調(diào)用節(jié)點(diǎn)中的callee屬性獲取函數(shù)名節(jié)點(diǎn)進(jìn)行獲取。
16、優(yōu)選的,所述s4中的函數(shù)調(diào)用節(jié)點(diǎn)的callee屬性獲取函數(shù)名節(jié)點(diǎn),且函數(shù)調(diào)用節(jié)點(diǎn)的arguments屬性獲取函數(shù)調(diào)用參數(shù)節(jié)點(diǎn)。
17、采用上述技術(shù)方案,通過使用字符串repalce方法去除函數(shù)名節(jié)點(diǎn)的.find后綴獲得被查找數(shù)組節(jié)點(diǎn)。
18、優(yōu)選的,所述s5中當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)使用eslint自定義規(guī)則上下文的getsourcecode方法獲取源代碼操作對象,該源代碼操作對象的gettext方法獲得被查找數(shù)組節(jié)點(diǎn)對應(yīng)的代碼串,并且給查找參數(shù)節(jié)點(diǎn)對應(yīng)的代碼串添加前綴[和后綴]。
19、采用上述技術(shù)方案,便于使用快速查找代碼生成數(shù)組對表達(dá)式eslint修復(fù)方法進(jìn)行查找。
20、優(yōu)選的,所述s5中eslint修復(fù)方法由當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)和快速查找代碼生成數(shù)組查找,且在當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)的標(biāo)志是疑似可修復(fù),則不生成數(shù)組查找表達(dá)式eslint修復(fù)方法。
21、采用上述技術(shù)方案,經(jīng)過使用源代碼操作對象的gettext方法獲得查找參數(shù)節(jié)點(diǎn)對應(yīng)的代碼串。
22、優(yōu)選的,所述快速查找代碼通過查找參數(shù)節(jié)點(diǎn)對應(yīng)的代碼串添加至被查找數(shù)組節(jié)點(diǎn)對應(yīng)的代碼串的后綴生成。
23、采用上述技術(shù)方案,經(jīng)過快速查找代碼為參數(shù)節(jié)點(diǎn)對應(yīng)的代碼添加對應(yīng)的數(shù)組節(jié)點(diǎn)對應(yīng)的代碼串后綴。
24、優(yōu)選的,所述s6中遍歷的節(jié)點(diǎn)類型為exportdefaultdeclaration,則說明當(dāng)前節(jié)點(diǎn)是默認(rèn)導(dǎo)出聲明節(jié)點(diǎn)。
25、采用上述技術(shù)方案,通過exportdefaultdeclaration輔助節(jié)點(diǎn)確定以及導(dǎo)出。
26、優(yōu)選的,所述s7中使用的導(dǎo)出聲明節(jié)點(diǎn)的declaration屬性獲得導(dǎo)出對象節(jié)點(diǎn),且導(dǎo)出對象節(jié)點(diǎn)的properties屬性獲得其所有屬性節(jié)點(diǎn)。
27、采用上述技術(shù)方案,為默認(rèn)導(dǎo)出聲明節(jié)點(diǎn)的屬性節(jié)點(diǎn)進(jìn)行獲取。
28、優(yōu)選的,所述s9中查找的當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)的標(biāo)志為可修復(fù)狀態(tài),則使用eslint自定義規(guī)則上下文的getsourcecode方法獲取源代碼操作對象中的gettext方法獲得被查找數(shù)組節(jié)點(diǎn)以及主鍵節(jié)點(diǎn)分別對應(yīng)的代碼串,對應(yīng)的代碼串插入到一下模版中生成函數(shù)調(diào)用節(jié)點(diǎn)對應(yīng)的computed計(jì)算屬性代碼生成computed計(jì)算屬性eslint修復(fù)。
29、采用上述技術(shù)方案,eslint自定義規(guī)則為當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)提供對應(yīng)的代碼串,便于節(jié)點(diǎn)標(biāo)志修復(fù),經(jīng)過eslint修復(fù)方法與函數(shù)調(diào)用節(jié)點(diǎn)生成eslint檢測報(bào)告。
30、優(yōu)選的,所述s10中當(dāng)前的函數(shù)調(diào)用節(jié)點(diǎn)的標(biāo)志為可修復(fù)時(shí),則遍歷ast獲得所有的importdeclaration類型的節(jié)點(diǎn),生成導(dǎo)入keyby方法的eslint修復(fù)方法,為當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)的數(shù)組查找表達(dá)式eslint修復(fù)方法,生成風(fēng)險(xiǎn)提示,生成修復(fù)數(shù)組查找表達(dá)式檢測報(bào)告。
31、采用上述技術(shù)方案,對當(dāng)前的函數(shù)調(diào)用節(jié)點(diǎn)的標(biāo)志查找對應(yīng)的表達(dá)式eslint修復(fù)。
32、與現(xiàn)有技術(shù)相比,本專利技術(shù)的有益效果是:該在vue組件模版中數(shù)組查找表達(dá)式的檢測方法:
33、1.基于eslint檢測工具針對vue模板中至關(guān)重要的數(shù)組查找表達(dá)式展開了全面且深入的優(yōu)化以及精準(zhǔn)高效的檢測,由于eslint可本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于,包括以下檢測步驟:
2.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述S3中的eslint自定義規(guī)則上下文的getSourceCode方法獲取源代碼操作對象,且只用源代碼操作對象的getText方法獲得函數(shù)名節(jié)點(diǎn)對應(yīng)的代碼串。
3.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述S4中的函數(shù)調(diào)用節(jié)點(diǎn)的callee屬性獲取函數(shù)名節(jié)點(diǎn),且函數(shù)調(diào)用節(jié)點(diǎn)的arguments屬性獲取函數(shù)調(diào)用參數(shù)節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述S5中當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)使用eslint自定義規(guī)則上下文的getSourceCode方法獲取源代碼操作對象,該源代碼操作對象的getText方法獲得被查找數(shù)組節(jié)點(diǎn)對應(yīng)的代碼串,并且給查找參數(shù)節(jié)點(diǎn)對應(yīng)的代碼串添加前綴[和后綴]。
5.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述S5中es
6.根據(jù)權(quán)利要求5所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述快速查找代碼通過查找參數(shù)節(jié)點(diǎn)對應(yīng)的代碼串添加至被查找數(shù)組節(jié)點(diǎn)對應(yīng)的代碼串的后綴生成。
7.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述S6中遍歷的節(jié)點(diǎn)類型為ExportDefaultDeclaration,則說明當(dāng)前節(jié)點(diǎn)是默認(rèn)導(dǎo)出聲明節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述S7中使用的導(dǎo)出聲明節(jié)點(diǎn)的declaration屬性獲得導(dǎo)出對象節(jié)點(diǎn),且導(dǎo)出對象節(jié)點(diǎn)的properties屬性獲得其所有屬性節(jié)點(diǎn)。
9.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述S9中查找的當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)的標(biāo)志為可修復(fù)狀態(tài),則使用eslint自定義規(guī)則上下文的getSourceCode方法獲取源代碼操作對象中的getText方法獲得被查找數(shù)組節(jié)點(diǎn)以及主鍵節(jié)點(diǎn)分別對應(yīng)的代碼串,對應(yīng)的代碼串插入到一下模版中生成函數(shù)調(diào)用節(jié)點(diǎn)對應(yīng)的computed計(jì)算屬性代碼生成computed計(jì)算屬性eslint修復(fù)。
10.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述S10中當(dāng)前的函數(shù)調(diào)用節(jié)點(diǎn)的標(biāo)志為可修復(fù)時(shí),則遍歷AST獲得所有的ImportDeclaration類型的節(jié)點(diǎn),生成導(dǎo)入keyBy方法的eslint修復(fù)方法,為當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)的數(shù)組查找表達(dá)式eslint修復(fù)方法,生成風(fēng)險(xiǎn)提示,生成修復(fù)數(shù)組查找表達(dá)式檢測報(bào)告。
...【技術(shù)特征摘要】
1.一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于,包括以下檢測步驟:
2.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述s3中的eslint自定義規(guī)則上下文的getsourcecode方法獲取源代碼操作對象,且只用源代碼操作對象的gettext方法獲得函數(shù)名節(jié)點(diǎn)對應(yīng)的代碼串。
3.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述s4中的函數(shù)調(diào)用節(jié)點(diǎn)的callee屬性獲取函數(shù)名節(jié)點(diǎn),且函數(shù)調(diào)用節(jié)點(diǎn)的arguments屬性獲取函數(shù)調(diào)用參數(shù)節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述s5中當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)使用eslint自定義規(guī)則上下文的getsourcecode方法獲取源代碼操作對象,該源代碼操作對象的gettext方法獲得被查找數(shù)組節(jié)點(diǎn)對應(yīng)的代碼串,并且給查找參數(shù)節(jié)點(diǎn)對應(yīng)的代碼串添加前綴[和后綴]。
5.根據(jù)權(quán)利要求1所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述s5中eslint修復(fù)方法由當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)和快速查找代碼生成數(shù)組查找,且在當(dāng)前函數(shù)調(diào)用節(jié)點(diǎn)的標(biāo)志是疑似可修復(fù),則不生成數(shù)組查找表達(dá)式eslint修復(fù)方法。
6.根據(jù)權(quán)利要求5所述的一種在vue組件模版中數(shù)組查找表達(dá)式的檢測方法,其特征在于:所述快速查找代碼通過查找參數(shù)節(jié)點(diǎn)對應(yīng)的代碼...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:葛小龍,
申請(專利權(quán))人:愛云保上海科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。