python中的代码度量
radon的Python项目详细描述
radon是一个python工具,它从源代码计算各种度量。 氡可以计算:
- ,即圈复杂度
- raw度量(包括sloc、注释行、空行和c.)
- halstead指标(所有指标)
- 可维护性索引(在visual studio中使用的索引)
要求
radon将从python 2.7运行到python 3.7(python版本除外 从3.0到3.3),只有一个代码库,不需要像 2to3或6。它也可以在pypy上运行,没有任何问题(目前是pypy 5.8.0用于试验)。
氡依赖于尽可能少的包裹。目前只有 严格要求(用于cli界面)。colorama也列为 但是如果radon不能导入它,输出就不会 有色的。
注释: python 2.6在版本1.5.0之前一直受支持。从2.0版开始,它 不再支持。
安装
使用pip:
$ pip install radon
或者下载源并运行安装文件:
$ python setup.py install
用法
radon可以从命令行使用,也可以通过编程使用。 文档位于https://radon.readthedocs.org/。
快速示例:
$ radon cc sympy/solvers/solvers.py -a -nc sympy/solvers/solvers.py F 346:0 solve - F F 1093:0 _solve - F F 1434:0 _solve_system - F F 2647:0 unrad - F F 110:0 checksol - F F 2238:0 _tsolve - F F 2482:0 _invert - F F 1862:0 solve_linear_system - E F 1781:0 minsolve_linear_system - D F 1636:0 solve_linear - D F 2382:0 nsolve - C 11 blocks (classes, functions, methods) analyzed. Average complexity: F (61.0)
说明:
- 行号前面的字母表示块的类型 (f表示函数,m方法和c类)。
其实更好的是:它有颜色!
关于文件编码的说明
在某些系统(如windows)上,默认编码不是utf-8。如果你是 在python文件中使用unicode字符并希望使用radon对其进行分析, 必须将radonfileencoding环境变量设置为utf-8。
在持续集成服务器上
如果您希望在ci服务器上使用radon xenon。尽管仍处于实验阶段,但它将 失败(即意味着退出非零退出代码)时,各种阈值是 超越了。氡更像是一种报告工具,而氙则是一种监测工具。 一个。
如果您正在寻找更完整的解决方案,请阅读以下部分。
密码
Codacy使用radonby default从源代码计算度量。
代码气候
氡可用作Code Climate Engine。 要了解如何将radon检查添加到代码climate平台,head 转到他们的文档: https://docs.codeclimate.com/v1.0/docs/radon
煤分析仪
氡也支持在coala。添加氡 检查coala,只需将RadonBear添加到 你的.coafile。
共因子
CodeFactor使用Radon ^ {A15}计算圈复杂度。