监视ci服务器上python的代码度量

xenon的Python项目详细描述


Travis-CI badgeCoveralls badgePyPI latest version badgeDownload formatXenon license

氙气是一种基于Radon的监测工具。 它监视代码的复杂性。理想情况下,氙气在每次你 提交代码。通过命令行选项,可以为 您的代码的^ {STR 1 } $复杂度< /强>。它将失败(即它将退出)。 当这些要求中的任何一个不满足时,非零退出代码。

安装

使用Pip:

$ pip install xenon

或者下载源并运行安装文件(需要安装工具):

$ python setup.py install

2.73.6以及 PyPy

用法

通常在两种情况下使用氙:

  1. 作为git commithook:确保您的代码永远不会超过 复杂性值。
  2. 连续集成服务器上:作为构建的一部分 在控制之下,如上所述,代码复杂。见氙气 .travis.yml file例如用法

命令行

一切都归结为Xenon的命令行用法。 要控制分析哪些文件,可以使用选项-e,--exclude-i,--ignore。两者都接受以逗号分隔的全局模式列表。这个 值通常需要在命令行中引用,以防止shell 扩展模式(如果只有一个)。每个文件名都匹配 反对exclude模式每个目录名都与 忽略模式。如果任何模式匹配,氙气甚至不会下降 进入他们。

实际阈值通过以下选项定义:

  • {TT4}$:^ {EM1}平均值复杂性的阈值(跨越所有) 代码库)。
  • {TT5}$:^ {EM1}$模块的阈值EME>复杂性。
  • TT6} $:^ {EM1} $绝对{EEM>阈值{^ EM1}$块EEE>复杂性。

所有这些选项都包含在内

一个实际的例子

$ xenon --max-absolute B --max-modules A --max-average A

或者,更简洁地说:

$ xenon -b B -m A -a A
使用这些选项,氙将以非零退出代码退出,如果有 满足以下条件:

  • 至少有一个块的秩高于B(即CDEF
  • 至少有一个模块的秩高于A
  • 平均复杂度(在所有分析块中)与 B或更高

其他资源

<>关于循环复杂性和静态分析的更多信息 python,请参考radon的文档,xenon所在的项目 基于:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将多个线程中的函数放入单个队列   数组在Java中,如何在不改变整数顺序的情况下找到整数组的顺序?   java控制器属于表示层?   java Apache Ivy和本地Maven repo如何处理使用Maven 3构建的快照   Java可与泛型类型进行比较   java这个表达式在泛型中是什么意思   JavaEclipse和TeamCity插件   java检测构造函数中的final是否为空   java如何在StanfordCoreNLP管道中同时使用词汇化和依赖性解析器?   java在AntUnit控制台日志中显示完整异常堆栈跟踪   lambda如何与Java 8供应商建立连锁关系   如何让GRPC的重试机制在Kubernetes集群中使用grpcjava工作?   如何使用openjdk:7 Docker映像和Gradle包装器避免“EC参数错误”?   java将集合映射扩展为一维映射新的“无法推断函数接口类型”