[发明专利]一种在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.vipzhuanli.com/pat/books/201711069642.7/2.html,转载请声明来源钻瓜专利网。