运行一个脚本,看看你的项目的代码质量吧

2017-09-20 18:18:45 +08:00
 xcatliu

代码质量有很多指标:

  1. 源代码行数
  2. 代码重复率
  3. 圈复杂度
  4. 报错量( Bug 数)占比
  5. 测试覆盖率
  6. 开发约束(代码块行数等)

我做了一个脚本可以测出上面的 1, 2, 3

大家都来试一试吧!

Installation

npm install -g cqc

Usage

cqc [options] <pattern ...>

Examples:

cqc src/**/*.js

Output:

Number of files:            8
Souce lines of code:        357
Duplicate rate:             5.62%
Max complexity:             15
Complexity > 5  (count):    3
Complexity > 10 (count):    1
Complexity > 20 (count):    0

Multiple patterns

cqc src/**/*.js src/**/*.jsx

--ignore-pattern

cqc src/**/*.js --ignore-pattern src/vendor/**/*.js
cqc src/**/*.js --ignore-pattern src/vendor/**/*.js,src/third-party/**/*.js

--ignore-file

cqc src/**/*.js --ignore-file .gitignore
cqc src/**/*.js --ignore-file .gitignore,.eslintignore

--format

cqc src/**/*.js --format json

Output:

{
    "numberOfFiles": 8,
    "sloc": {
        "source": 357
    },
    "jscpd": {
        "percentage": "5.62"
    },
    "complexity": {
        "max": 15,
        "gt5Count": 3,
        "gt10Count": 1,
        "gt20Count": 0
    }
}
15478 次点击
所在节点    程序员
86 条回复
jianghu521
2017-09-22 19:32:19 +08:00
zsh: command not found: cpc @xcatliu
xcatliu
2017-09-22 19:33:53 +08:00
@jianghu521 cqc 不是 cpc 哈
Hilong
2017-09-22 19:44:39 +08:00
不支持 vue 文件。。。
jianghu521
2017-09-22 19:45:41 +08:00
@xcatliu 嗯 谢谢 写错了
jianghu521
2017-09-22 19:58:22 +08:00
Number of files: 344
Source lines of code: 26728
Duplicate rate: 0.00%
Max complexity: 0
Complexity > 5 (count): 0
Complexity > 10 (count): 0
Complexity > 20 (count): 0

@xcatliu 是不是有问题啊
Maic
2017-09-22 23:43:34 +08:00
➜ git:(master) ✗ node_modules/.bin/cqc back/*

Number of files: 8
Source lines of code: 773
Duplicate rate: 1.23%
High complexity rate: 0.00%
Max complexity: 8

➜ git:(master) ✗ node_modules/.bin/cqc back/*/*

Number of files: 7
Source lines of code: 419
Duplicate rate: 0.00%
High complexity rate: 0.00%
Max complexity: 5

➜ git:(master) ✗ node_modules/.bin/cqc back/

Number of files: 0
Source lines of code: 0
Duplicate rate: 0.00%
High complexity rate: NaN%
Max complexity: 0

➜ git:(master) ✗ node_modules/.bin/cqc back/* back/*/*

Number of files: 15
Source lines of code: 1192
Duplicate rate: 0.84%
High complexity rate: 0.00%
Max complexity: 8
---

是我写的规则不对嘛

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/392337

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX