代码质量构成了软件质量的一部分。像Java和C++之类主流语言的工具已经比较成熟了,而Ruby相关工具还在成长。随着Ruby从早期采纳者向早期大众普及,人们对这些工具的需求越来越多,而且SLOC(源代码行数)在不断增长。人们使用自动化工具检测多种问题,比如风格不一致、方法过程和代码重复。
Steve Hayes在芝加哥举办的Agile2009大会上做了一个名为“Java和Ruby的代码质量”的演讲。InfoQ也借此机会审视了Ruby世界中可为人所用的工具。
-
Roodi(Ruby面向对象设计Inferometer)——该工具会解析你的Ruby代码,并根据你配置好的列表,对设计方面的问题提出警告,比如:类代码行数检查、for循环检查、参数个数检查、圈复杂度检查,还有其他10个检查选项。
-
Reek——类似Roodi。
-
Saikuro ——设计目的是要检查圈复杂度 。
-
Flog ——由Ryan Davis开发,它会给你的代码计算一个得分:得分越高,你的代码越差。计算得分时考虑了ABC度量指标(赋值、分支和调用)。
-
Simian——类似的分析器,可以用来识别代码重复(要想商用,就得付出99美元)。
-
Flay ——这是Ryan Davis开发的另一个免费工具,能够找到代码中在结构上的相似性。
要想使用所有这些工具,你很快就会觉得痛苦,这时metric_fu就成了救星。它包括了上述所有工具(Simian除外),而且能够方便地生成关于你的应用的报告。很容易就能把它和Rails集成在一起,而且花些时间就能生成图表。
分享到:
相关推荐
`metric_fu`是Ruby编程语言的一个开源工具,它提供了多种代码质量度量,如Churn、Flog、Flay、Flog、reek、Roar等,帮助开发者分析代码的复杂性、可读性和潜在问题。这个过程通常在持续集成或代码审查阶段进行,以...
安装gem install metric_fu如果您无法安装gem 尝试将metric_fu添加到您的Gemfile中并进行捆绑。 在问题页面上提交票证。 MetricFu是经过。 为了确保您安装的gem没有被篡改: 添加我的公共密钥(如果尚未添加)作为受...
资源分类:Python库 所属语言:Python 资源全名:pytorch_metric_learning-1.1.1.dev0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
sensor_metric_explorer sensor_data_preprocessing 是用于定向和过滤 Shimmer 传感器的代码库 < 。 该代码还将数据文件修剪为感兴趣的部分。 此代码高度特定于 sensor_metric_explorer 1.0.0 sensor_metric_...
《PyPI官网下载:windchill_metric_config-0.0.17-py3-none-any.whl》 PyPI(Python Package Index)是Python社区官方的软件包仓库,它为Python开发者提供了一个集中发布和获取Python库的地方。在这个场景中,我们...
8. 生命周期管理工具:为了支持生命周期管理,组织和个人可以使用各种工具和技术,如项目管理工具、需求管理工具、版本控制工具等。 9. 生命周期管理过程:生命周期管理过程包括需求分析、设计、实施、测试、部署、...
资源分类:Python库 所属语言:Python 资源全名:metric_visualizer-0.3.19-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源来自pypi官网,解压后可用。 资源全名:pytorch_metric_learning-0.9.31-py3-none-any.whl
资源来自pypi官网。 资源全名:pytorch_metric_learning-0.9.52-py3-none-any.whl
Python作为一种强大且灵活的编程语言,提供了丰富的库来处理SNMP数据,其中`draw_metric:draw_snmp_metrics`可能是一个用于可视化SNMP采集的指标的工具或库。下面将详细探讨SNMP和Python在这一领域的应用。 SNMP...
双边滤波处理后的深度图(图像大小640*480,深度值范围0~2.226)生成的txt文件
ss_robust_metric MATLAB函数使用“目标评估”部分中描述的方法,将显着性视频序列与真实的显着性视频序列进行比较。 Y. Gitman,M。Erofeev,D。Vatolin,A。Bolshakov,A。Fedorov。 “半自动视觉注意力建模及其在...
metric_learning 用于面部识别的度量学习TF 2.0 + Keras算法实现要求: Python 3.6+ 点安装-r requirements.txt 如果有GPU,请pip install tensorflow-gpu == 2.0.0(强烈建议)Datset设置: 这些步骤将下载VGGFace2...
SignalFx的Ruby客户端库是为集成SignalFx监控和分析平台而设计的一个开源工具,它允许开发者在Ruby应用程序中轻松地发送指标、事件和日志数据到SignalFx服务。SignalFx是一个实时的大数据智能平台,专注于应用程序...
【标题】"tutorial_metric_tutorial_" 提供了一个与CNCN(可能是计算机数控技术或相关领域)相关的教学教程,特别是关于“metric”部分,这暗示了教程可能涉及到公制单位系统在CNC操作中的应用。 【描述】"TUTORIAL...
pytorch_metric_learning 一个灵活且可扩展的度量学习库,用PyTorch编写PyTorch Metric Learning News 6 月 20 日:v0.9.87 带来了一些可能导致您现有代码中断的重大更改。 有关详细信息,请参阅发行说明。 文档 在...
gem 'string_metric' 然后执行: $ bundle 或者自己安装: $ gem install string_metric 用法 莱文斯坦距离 Levenshtein Distance 的公共 api 是StringMetric::Levenshtein.distance方法。 选项 :max_distance...