我有一个现有的Rails 2.3.10应用程序,我正在考虑从1.8.7升级到Ruby 1.9.2。在我开始攻击试图让它工作的应用程序之前,我试图决定它是否值得付出努力。
只是想知道可能涉及多少工作,我只是在Ruby 1.9.2中运行所有规范(rspec 1.3.1)。 98%的测试都在通过,但是它们运行速度慢了3倍,并且有大量的消息,比如“Ruby 1.9还不支持Unicode规范化”。我发现了一个post about this issue,所以我知道我可以修复它,但是我担心速度和我可能遇到的其他问题。
我的另一个选择是将应用程序升级到Rails 3并在那时移至1.9.2。从长远来看,这似乎是一个更好的决定,但可能会有更多的工作。
tl; dr - 我应该立即升级到1.9.2还是等到应用程序在Rails 3上?
答案 0 :(得分:3)
我建议同时执行这两项操作,但是您执行这两项操作的顺序,或者如果您同时执行这两项操作,实际上是个人偏好。如果您拥有一个覆盖良好的强大测试套件,那么这是进行转换的第一步。您将遇到的主要障碍如下:
一般来说,Ruby 1.9.2比Ruby 1.8.7更快,并且会提供一些很酷的新语法。如果你得到相反的结果,那么我会对你的代码进行基准测试,并确保实际情况就是这样,而且不仅仅是测试会导致你的套件速度下降。