[發明專利]一種在linux下自動統計Js語言編碼缺陷率的方法在審
| 申請號: | 201711069642.7 | 申請日: | 2017-11-03 |
| 公開(公告)號: | CN107844422A | 公開(公告)日: | 2018-03-27 |
| 發明(設計)人: | 閆俊 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 濟南信達專利事務所有限公司37100 | 代理人: | 張靖 |
| 地址: | 450000 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 linux 自動 統計 js 語言 編碼 缺陷 方法 | ||
技術領域
本發明涉及自動化代碼走查技術領域,具體涉及一種在linux下自動統計Js語言編碼缺陷率的方法。
背景技術
代碼檢查是一種靜態的分析,常用于尋找有問題的模式或者代碼,并且不依賴于具體的編碼風格。對大多數編程語言來說都會有代碼檢查,一般來說編譯程序會內置檢查工具。
靜態代碼走查是開發過程中非常重要的一步,程序化的過程人是看不到的。即使最后運行沒有大問題,但可能存在一些問題,例如縮進不一致、調用無參構造函數時沒有圓括號、沒有聲明等。
JavaScript 是一個動態的弱類型語言,在開發中比較容易出錯。因為沒有編譯程序,為了尋找 JavaScript 代碼錯誤通常需要在執行過程中不斷調適。
一般的缺陷率統計方法都是購買第三方工具統計Js語言的代碼總行數,之后利用走查工具走查有缺陷的代碼行數,最后通過缺陷行/總行數得出缺陷率。
ESLint 是一個開源的 JavaScript 代碼檢查工具。可擴展,每條規則都是獨立的,不內置編碼風格的工具。
現在一般的代碼走查是通過使用Eslint統計處缺陷行數,再通過第三方付費工具統計出項目中Js代碼的所有行數,通過缺陷行/總行數 的到缺陷率。
發明內容
本發明要解決的技術問題是:針對上述問題,本發明提供一種在linux下自動統計Js語言編碼缺陷率的方法。
本發明所采用的技術方案為:
一種在linux下自動統計Js語言編碼缺陷率的方法,所述方法通過ESLint統計出Js語言編碼的缺陷行數,并使用正則表達式得到要走查的項目里的所有JS代碼行數,通過缺陷行/總行數得到缺陷率。
所述方法通過使用awk命令得到要走查的項目里面的缺陷行數。
所述方法通過修改Eslint配置文件生成自己的編碼規則,并使用fix命令按照自己的編碼規則修改不符合編碼規范的代碼。
所述方法實現流程包括內容如下:
修改Eslint配置文件生成自己的編碼規則;
使用正則表達式得到要走查的項目里的所有JS代碼行數;
根據生成的編碼規則,使用awk命令得到要走查的項目里面的缺陷行數;
自動生成缺陷率;
使用fix命令自動修改不符合編碼規范的代碼。
所述方法通過調用命令 $(find project dir -name "*.js" |xargs cat|wc -l)得到Js所有行。
所述方法通過調用eslint命令$(eslint project dir | grep 'problems' | awk '{print $2}')得到缺陷行。
所述方法通過腳本實現自動統計,只需用運行相應的腳本就直接得出缺陷率,中間的安裝、走查過程都是自動進行的,腳本能夠自動計算出缺陷行和總行數缺陷率,以及能夠按照指定的規則修改部分的代碼。
本發明的有益效果為:
本發明通過使用命令而不是使用第三方付費工具統計項目的Js代碼總行數,自動計算出缺陷行數和缺陷率,并能夠自動修改部分不符合編碼規范的代碼,節約成本和時間,有效控制代碼的質量。
具體實施方式
根據具體實施方式對本發明進一步說明:
實施例1
一種在linux下自動統計Js語言編碼缺陷率的方法,所述方法通過ESLint統計出Js語言編碼的缺陷行數,并使用正則表達式得到要走查的項目里的所有JS代碼行數,通過缺陷行/總行數得到缺陷率。
所述方法通過修改Eslint配置文件生成自己的編碼規則,并使用awk命令得到要走查的項目里面的缺陷行數。
所述方法通過fix命令自動修改不符合編碼規范的代碼。
實施例2
所述方法實現流程如下:
1)使用命令wget從官網自動下載Eslint到指定目錄;
2)進行解壓安裝,成功安裝Eslint后配置生成基本的規則;
3)修改Eslint配置文件生成自己的編碼規則;
4)使用正則表達式得到要走查的項目里的所有JS代碼行數;
5)根據生成的編碼規則,使用awk命令得到要走查的項目里面的缺陷行數;
6)自動生成缺陷率;
7)使用fix命令自動修改不符合編碼規范的代碼。
實施例3
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711069642.7/2.html,轉載請聲明來源鉆瓜專利網。





