欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種走查多編程語言代碼的集成方法與流程

文檔序號:12363526閱讀:711來源:國知局

技術(shù)領(lǐng)域

本發(fā)明涉及服務(wù)器技術(shù)領(lǐng)域,具體的說是一種走查多編程語言代碼的集成方法。



背景技術(shù):

程序員在寫程序時(shí),最直接關(guān)心的是程序的功能,其次會(huì)關(guān)心程序的性能。而對于程序的其它特性,往往關(guān)心較少,比如程序的安全性,內(nèi)存泄漏,命名可讀性和一致性等等,在這種情況下,代碼走查工具應(yīng)運(yùn)而生。像 flake8 這樣的python 語言走查工具,除了可以發(fā)現(xiàn)以上問題,還可以發(fā)現(xiàn)代碼中未使用的變量,不安全的使用方式,可能是潛藏的邏輯錯(cuò)誤等等。

在這個(gè)開源的時(shí)代,幾乎所有軟件公司和互聯(lián)網(wǎng)公司都會(huì)使用兩種以上的編程語言,以適應(yīng)不同場景的需求:比如用 C 語言來處理硬件直接相關(guān)的場景, 用 java 來編寫大數(shù)據(jù)場景下的應(yīng)用,用 javascript 來實(shí)現(xiàn)用戶友好的前端界面, 用python 來實(shí)現(xiàn)快速原型等等。與此同時(shí),這些編程語言幾乎都有特別針對于自己的代碼走查工具,比如檢查 C 語言的 splint,檢查 java 的 checkstyle, 以及 javascript 和 python 對應(yīng)的 jshint 和 flake8。

當(dāng)前各種代碼走查工具基本上只針對某一種編程語言效果比較好,或者只支持一種語言;也有通用的代碼走查工具(代碼格式檢查工具),但是對于每種編程語言又不夠細(xì)致。因此,多種代碼走查工具的存在,使得代碼走查人員需要掌握每種工具的不同配置,并且需要對每種代碼走查工具輸出結(jié)果進(jìn)行調(diào)整,以適應(yīng)公司的統(tǒng)一模板。此外,如果再有新的編程語言加入進(jìn)來,還需要再學(xué)習(xí)一次。如果代碼走查工具各版本之間不兼容,那就更加麻煩。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明針對目前技術(shù)發(fā)展的需求和不足之處,提供一種走查多編程語言代碼的集成方法。

本發(fā)明所述一種走查多編程語言代碼的集成方法,解決上述技術(shù)問題采用的技術(shù)方案如下:所述一種走查多編程語言代碼的集成方法,采用python 語言,通過軟件抽象和邏輯分層, 抽象各個(gè)代碼走查工具的核心功能,并進(jìn)行模塊切分,把各個(gè)模塊整合形成一個(gè)多語言格式化分析系統(tǒng),對多種編程語言進(jìn)行格式檢查;所述多語言格式化分析系統(tǒng)主要包括:代碼引擎模塊、代碼走查標(biāo)準(zhǔn)接口、規(guī)則定制模塊以及標(biāo)準(zhǔn)化報(bào)告輸出模塊。

優(yōu)選的,所述代碼引擎模塊主要包括各種代碼走查工具。

優(yōu)選的,所述代碼走查工具包括flake8、jshint、checkstyle及splint。

優(yōu)選的,所述代碼走查標(biāo)準(zhǔn)接口能夠?qū)痈鞣N引擎,負(fù)責(zé)將代碼走查的輸出內(nèi)容標(biāo)準(zhǔn)化為統(tǒng)一的json 格式,并進(jìn)行統(tǒng)一存儲(chǔ)和分析。

優(yōu)選的,所述規(guī)則定制模塊采用json 格式來統(tǒng)一定義規(guī)則,能夠自動(dòng)生成對應(yīng)各個(gè)代碼走查工具所需的配置文件。

本發(fā)明所述一種走查多編程語言代碼的集成方法與現(xiàn)有技術(shù)相比具有的有益效果是:本發(fā)明通過軟件抽象和邏輯分層, 實(shí)現(xiàn)了一套多語言格式化分析系統(tǒng),通過統(tǒng)一的代碼走查標(biāo)準(zhǔn)接口,可以支持多種專業(yè)引擎,進(jìn)行標(biāo)準(zhǔn)化的結(jié)果輸出,能夠?qū)Χ喾N編程語言進(jìn)行格式檢查;而且該分析系統(tǒng)支持自由擴(kuò)展, 可以應(yīng)用于多種場景,使用靈活,簡單易用;采用本發(fā)明能夠減少代碼走查人員學(xué)習(xí)的成本,降低代碼走查難度,并提高了工作效率。

說明書附圖

附圖1為所述多語言格式化分析系統(tǒng)的示意圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,對本發(fā)明所述一種走查多編程語言代碼的集成方法進(jìn)一步詳細(xì)說明。

本發(fā)明所述一種走查多編程語言代碼的集成方法,采用python 語言,通過軟件抽象和邏輯分層, 抽象各個(gè)代碼走查工具的核心功能,并進(jìn)行模塊切分,把各個(gè)模塊整合形成一個(gè)多語言格式化分析系統(tǒng);通過該多語言格式化分析系統(tǒng),對多種編程語言進(jìn)行格式檢查,進(jìn)行定制規(guī)則、整合工具,并輸出結(jié)果。該多語言格式化分析系統(tǒng),可以自行添加其它的代碼走查工具, 使用靈活。

實(shí)施例:

本實(shí)施例一種走查多編程語言代碼的集成方法,所提出的多語言格式化分析系統(tǒng),主要包括:代碼引擎模塊、代碼走查標(biāo)準(zhǔn)接口、規(guī)則定制模塊以及標(biāo)準(zhǔn)化報(bào)告輸出模塊;如附圖1所示。

本實(shí)施例中,所述代碼引擎模塊主要包括各種代碼走查工具,比如:flake8、jshint、checkstyle及splint;所述多語言格式化分析系統(tǒng)主要使用各個(gè)工具的代碼走查功能;此外,由于該多語言格式化分析系統(tǒng)具備統(tǒng)一的代碼走查標(biāo)準(zhǔn)接口,能夠比較容易的自由擴(kuò)展,在分析系統(tǒng)中添加其他的代碼走查工具。

本實(shí)施例中,所述代碼走查標(biāo)準(zhǔn)接口負(fù)責(zé)將代碼走查的輸出內(nèi)容標(biāo)準(zhǔn)化為統(tǒng)一的json 格式,并進(jìn)行統(tǒng)一存儲(chǔ)和分析,屏蔽各個(gè)代碼走查工具之間的差異;并且,該代碼走查標(biāo)準(zhǔn)接口能夠?qū)痈鞣N引擎,實(shí)現(xiàn)對代碼走查工具的抽象。

本實(shí)施例中,所述規(guī)則定制模塊采用json 格式來統(tǒng)一定義規(guī)則,能夠自動(dòng)生成對應(yīng)各個(gè)代碼走查工具所需的配置文件,以實(shí)現(xiàn)代碼走查工具無關(guān)的特性;并且,該規(guī)則定制模塊簡單化,與各個(gè)具體的代碼走查工具無光,降低了學(xué)習(xí)掌握難度和成本。

由于所述代碼走查標(biāo)準(zhǔn)接口和規(guī)則定制模塊屏蔽了各個(gè)代碼走查工具的差異,因此,所述標(biāo)準(zhǔn)化報(bào)告輸出模塊具備很大的自由度,能夠安裝用戶需要定制出所需模板來使用。

本實(shí)施例所述走查多編程語言代碼的集成方法,其具體實(shí)施過程如下:

1)首先在服務(wù)器系統(tǒng)中安裝python語言,所述python語言采用python 2.7版本;由python 語言作為開發(fā)語言,進(jìn)行整合各種引擎,并負(fù)責(zé)把各個(gè)模塊組合起立;

2)系統(tǒng)安裝完成后,再安裝其他編程語言的代碼走查工具(走查分析引擎),主要包括flake8、jshint、checkstyle 等三種引擎,分別可以分析當(dāng)下主流的 python、javascript和java三種編程語言;

3)完成以上兩步后,即可直接使用該多語言格式化分析系統(tǒng)來分析代碼了。

上述具體實(shí)施方式僅是本發(fā)明的具體個(gè)案,本發(fā)明的專利保護(hù)范圍包括但不限于上述具體實(shí)施方式,任何符合本發(fā)明的權(quán)利要求書的且任何所屬技術(shù)領(lǐng)域的普通技術(shù)人員對其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
万山特区| 金沙县| 诏安县| 芜湖县| 泽普县| 龙南县| 长乐市| 鲁山县| 抚宁县| 六安市| 独山县| 遂川县| 泾源县| 莎车县| 乐平市| 乌拉特前旗| 葵青区| 彭泽县| 佛学| 阳春市| 大庆市| 曲阳县| 科技| 祁门县| 佛山市| 民丰县| 通辽市| 鄂伦春自治旗| 镇赉县| 将乐县| 化州市| 玛多县| 白玉县| 娄底市| 武陟县| 泽州县| 双流县| 岳普湖县| 公安县| 甘泉县| 静安区|