gpt4 book ai didi

ruby-on-rails - 强化遗留 Rails 应用程序的第一步是什么?

转载 作者:行者123 更新时间:2023-11-28 20:18:21 27 4
gpt4 key购买 nike

有一个生产系统已经运行了很多年,首先是作为 PHP 应用程序,然后是与 Rails 的混合体,现在完全在 Rails 中。目前还不清楚它存在了多久。最旧的 git commit 是 5 年前的。

目标是不惜一切代价保持系统运行。只要没有问题,我们使用什么代码都没有关系。目前它的 Rails 版本为 3.2.33

如果我们不升级任何 gem,我们就有可能变得过时和无法部署。如果我们升级,我们将需要对代码进行更改,从而导致潜在的错误蔓延。我们不仅面临代码腐烂,而且还会因 AWS 中断而停机。

确保一切正常的第一步是什么?我花了几个月的时间编写 cucumber (集成)测试,但很难涵盖所有边缘情况。该应用程序已经运行了很长时间,以至于大多数错误都已修复,并且几乎没有新的异常。测试从一开始就不是优先事项,因此大部分代码都没有记录。

最佳答案

老实说,我发现 Ruby on Rails 不是这类应用程序的理想选择。 Ruby 和 Rails 都有非常积极的发布计划,尤其是 Rails 不怕放弃向后兼容性。 Rails 非常适合敏捷开发,在这种情况下,事情总是在变化,但要以长期稳定性为代价。

我假设您的应用程序足够大,您不想切换到其他任何应用程序。 Sinatra ,例如,变化不大,将是一个更稳定的选择。

如果您坚持使用 Rails,我建议您尽可能多地摆脱对 gem 的依赖。它们总是存在不再开发或可能引入错误或漏洞的危险。

另外,尽可能使用 PORO(普通旧 Ruby 对象)而不是 Rails 相关代码是个好主意。这通常需要更多的工作,但您最终会得到更稳定和可重用的代码。

我知道在这样的应用程序中投入的工作量可能比您想要的要多,但这是我最好的建议。

关于ruby-on-rails - 强化遗留 Rails 应用程序的第一步是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33429381/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com