关于 Java,我真正怀念的一件事是工具支持。FindBugs、Checkstyle 和 PMD 实现了代码质量指标和自动错误检查的三位一体。
是否有任何东西可以检查简单的错误和/或 Ruby 代码的样式违规?如果我可以将它改编为 Rails 等框架,那么我可以加分,以便遵循 Rails 惯用语。
关于 Java,我真正怀念的一件事是工具支持。FindBugs、Checkstyle 和 PMD 实现了代码质量指标和自动错误检查的三位一体。
是否有任何东西可以检查简单的错误和/或 Ruby 代码的样式违规?如果我可以将它改编为 Rails 等框架,那么我可以加分,以便遵循 Rails 惯用语。
Saikuro 和 Flog 可以很好地了解代码复杂性的基本概念。您还可以使用像 rcov 这样的工具来查看您的测试覆盖率。
Rails 项目有一个插件,可以将所有这些指标组合到一个 rake 任务中。它被称为metric_fu。
我最近发现和测试的项目:
Dust看起来可以帮助您找到未使用和无用的代码,这似乎有点适合您所追求的。
我不知道有任何其他此类工具。
这个问题在 ruby 中比在 java 中更难解决——你会注意到所有这些 java 工具都标榜自己使用代码的“静态分析”。
ruby 代码的静态分析通常是不可能的,因为没有任何静态可以分析(方法通常在运行时创建等等)
无论如何,其中一些东西在 ruby 中是不需要的,因为语言内置了它们。例如,您不需要编码标准来强制您的类都是,NamedLikeThis
因为如果它们不是,代码将无法工作。
PS我必须添加标准免责声明,即这些工具通常有点像红鲱鱼。你可以花一整天的时间让你的代码遵循工具认为它应该是的样子,并最终得到比你开始时更多的错误。
恕我直言,最好的解决方案是流利地编写代码,以便您可以更轻松地阅读它。再多的静态分析都不会像人类阅读代码那样好,它清楚地说明了它的目的。能够做到这一点是 ruby 比许多其他语言领先几光年的地方。我个人建议您将精力集中在学习如何更流利地写作,并就这些事情对您的团队进行教育,而不是花时间进行静态分析。
另一个不错的工具,虽然根据作者的说法处于早期阶段是臭气:
reek 目前包括对以下代码异味的非常幼稚的检查:
就我个人而言,我认为它仍然存在太多误报,但仅仅查看我的一些代码中的输出就帮助我重新思考了一些关于代码风格和架构的决定。
Code Climate是一个 SaaS 工具,它通过 git 集成并自动“评分”您的代码。如果质量突然下降,它会通过各种渠道通知您。漂亮的用户界面。
当被问到这个问题时,我没有看到这个问题,但我做的一篇博客文章也可能会有所帮助。在其中,我介绍了一堆 Ruby 工具,特别介绍了 4 个代码质量工具......
也值得一试 Towelie and Flay
http://devver.wordpress.com/2008/10/03/ruby-tools-roundup/
现在我们已经将很多工具组合成一个唯一的 Ruby 代码质量和指标监控工具,称为 Caliper。这可能很好地满足您的需求。它跟踪项目生命周期内的各种质量指标。
还有优秀的。我还没有尝试过,但它看起来也很有希望。