监视ci服务器上python的代码度量
xenon的Python项目详细描述
氙气是一种基于Radon的监测工具。 它监视代码的复杂性。理想情况下,氙气在每次你 提交代码。通过命令行选项,可以为 您的代码的^ {STR 1 } $复杂度< /强>。它将失败(即它将退出)。 当这些要求中的任何一个不满足时,非零退出代码。
安装
使用Pip:
$ pip install xenon
或者下载源并运行安装文件(需要安装工具):
$ python setup.py install
从2.7到3.6以及 PyPy
用法
通常在两种情况下使用氙:
- 作为git commithook:确保您的代码永远不会超过 复杂性值。
- 在连续集成服务器上:作为构建的一部分 在控制之下,如上所述,代码复杂。见氙气 .travis.yml file例如用法
命令行
一切都归结为Xenon的命令行用法。 要控制分析哪些文件,可以使用选项-e,--exclude和 -i,--ignore。两者都接受以逗号分隔的全局模式列表。这个 值通常需要在命令行中引用,以防止shell 扩展模式(如果只有一个)。每个文件名都匹配 反对exclude模式每个目录名都与 忽略模式。如果任何模式匹配,氙气甚至不会下降 进入他们。
实际阈值通过以下选项定义:
- {TT4}$:^ {EM1}平均值
复杂性的阈值(跨越所有) 代码库)。 - {TT5}$:^ {EM1}$模块的阈值EME>复杂性。
所有这些选项都包含在内
一个实际的例子
$ xenon --max-absolute B --max-modules A --max-average A
或者,更简洁地说:
$ xenon -b B -m A -a A使用这些选项,氙将以非零退出代码退出,如果有 满足以下条件:
- 至少有一个块的秩高于B(即C、D、E或 F)
- 至少有一个模块的秩高于A
- 平均复杂度(在所有分析块中)与 B或更高