37

关于 Java,我真正怀念的一件事是工具支持。FindBugs、Checkstyle 和 PMD 实现了代码质量指标和自动错误检查的三位一体。

是否有任何东西可以检查简单的错误和/或 Ruby 代码的样式违规?如果我可以将它改编为 Rails 等框架,那么我可以加分,以便遵循 Rails 惯用语。

4

9 回答 9

17

我最近开始为 Ruby 寻找类似的东西。到目前为止我遇到的情况:

这些可能是开始的地方。不幸的是,我还没有使用这三个中的任何一个来提供一个好的意见。

于 2008-09-11T02:41:16.743 回答
7

Saikuro 和 Flog 可以很好地了解代码复杂性的基本概念。您还可以使用像 rcov 这样的工具来查看您的测试覆盖率。
Rails 项目有一个插件,可以将所有这些指标组合到一个 rake 任务中。它被称为metric_fu

于 2008-09-11T17:59:39.127 回答
6

我最近发现和测试的项目:

于 2012-10-11T16:59:45.997 回答
5

您可能想尝试RuboCop。它是一个基于Ruby 样式指南的 Ruby 代码样式检查器。它维护得非常积极,它基于标准的 Ruby 工具(如ripper库)。它适用于 Ruby 1.9 和 2.0,并具有出色的 Emacs 集成。我希望你会发现它有用!

于 2013-04-17T15:02:46.940 回答
3

Dust看起来可以帮助您找到未使用和无用的代码,这似乎有点适合您所追求的。

我不知道有任何其他此类工具。
这个问题在 ruby​​ 中比在 java 中更难解决——你会注意到所有这些 java 工具都标榜自己使用代码的“静态分析”。
ruby 代码的静态分析通常是不可能的,因为没有任何静态可以分析(方法通常在运行时创建等等)

无论如何,其中一些东西在 ruby​​ 中是不需要的,因为语言内置了它们。例如,您不需要编码标准来强制您的类都是,NamedLikeThis因为如果它们不是,代码将无法工作。

PS我必须添加标准免责声明,即这些工具通常有点像红鲱鱼。你可以花一整天的时间让你的代码遵循工具认为它应该是的样子,并最终得到比你开始时更多的错误。
恕我直言,最好的解决方案是流利地编写代码,以便您可以更轻松地阅读它。再多的静态分析都不会像人类阅读代码那样好,它清楚地说明了它的目的。能够做到这一点是 ruby​​ 比许多其他语言领先几光年的地方。我个人建议您将精力集中在学习如何更流利地写作,并就这些事情对您的团队进行教育,而不是花时间进行静态分析。

于 2008-09-10T21:25:39.153 回答
3

另一个不错的工具,虽然根据作者的说法处于早期阶段是臭气:

http://reek.rubyforge.org/

reek 目前包括对以下代码异味的非常幼稚的检查:

  • 长方法
  • 大班
  • 功能嫉妒
  • 无法交流的名字
  • 长参数列表
  • 实用功能
  • 嵌套迭代器
  • 控制对
  • 复制
  • 项目清单

就我个人而言,我认为它仍然存在太多误报,但仅仅查看我的一些代码中的输出就帮助我重新思考了一些关于代码风格和架构的决定。

于 2008-12-09T14:03:46.927 回答
2

Code Climate是一个 SaaS 工具,它通过 git 集成并自动“评分”您的代码。如果质量突然下降,它会通过各种渠道通知您。漂亮的用户界面。

于 2013-03-20T04:45:15.097 回答
1

当被问到这个问题时,我没有看到这个问题,但我做的一篇博客文章也可能会有所帮助。在其中,我介绍了一堆 Ruby 工具,特别介绍了 4 个代码质量工具......

  1. 鲁迪
  2. 灰尘
  3. 鞭打
  4. 斋九郎

也值得一试 Towelie and Flay

http://devver.wordpress.com/2008/10/03/ruby-tools-roundup/

现在我们已经将很多工具组合成一个唯一的 Ruby 代码质量和指标监控工具,称为 Caliper。这可能很好地满足您的需求。它跟踪项目生命周期内的各种质量指标。

Caliper - 改进你的 Ruby 代码

于 2008-11-26T18:00:52.977 回答
0

还有优秀的。我还没有尝试过,但它看起来也很有希望。

于 2010-11-21T01:57:09.900 回答