弄清Rails应用程序没有使用哪些宝石[英] Figuring Out Which Gems Rails App Does Not Use

本文是小编为大家收集整理的关于弄清Rails应用程序没有使用哪些宝石的处理方法,想解了弄清Rails应用程序没有使用哪些宝石的问题怎么解决?弄清Rails应用程序没有使用哪些宝石问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

正在开发一个拥有近 200 颗宝石的应用.有没有人想出如何分离未使用的宝石,以便将它们从混合物中取出.

推荐答案

由于 Ruby 的动态特性,没有测试就无法确定是否使用了 gem.尽管在没有充分理由的情况下临时加载它们是不好的做法,但在程序执行的任何时候都可能需要 gem.它们不需要预先加载.

虽然按需加载 gem 可能有一些优势,例如,保持较低的内存占用和减少启动时间,但确实很难确定它们是否或在何处实际使用.

gem 名称和它使用的方法之间并不总是存在关联.虽然许多具有易于 grep 的命名空间,但有些只是将方法添加到现有类中,这可能会使跟踪它们变得复杂,尤其是当它们使用具有相同名称的新方法修补旧方法时.

如果您能够通过单元测试、功能测试和集成测试来练习应用程序的大部分内容,则可以使用 ruby-prof 至少可以了解使用了哪些宝石.这样可以更轻松地确定要移除的候选人.

本文地址:https://www.itbaoku.cn/post/786624.html