使用拥有近200颗宝石的应用。有没有人想出如何隔离未使用的宝石,以便可以将它们从混合物中取出。
答案 0 :(得分:3)
由于Ruby的动态特性,如果没有测试就无法确定是否使用了宝石。尽管在没有充分理由的情况下在ad-hoc中加载它们是不好的做法,但是在程序执行的任何时候都可能需要gem。它们不需要预先装载。
虽然根据需要加载宝石可能有好处,例如,保持较低的内存占用量并缩短启动时间,但确实难以确定它们是否或在何处实际使用。
gem名称及其使用的方法之间并不总是存在关联。虽然许多人都有一个容易受到影响的命名空间,但有些只是向现有类添加方法,这可能会使跟踪它们变得复杂,特别是如果它们使用具有相同名称的新方法修补旧方法。
如果您能够通过单元,功能和集成测试来运行大部分应用程序,则可以使用ruby-prof来了解至少使用了哪些宝石。这可以使识别候选人更容易。