gpt4 book ai didi

php - 重构的成本是否超过重写的成本?

转载 作者:可可西里 更新时间:2023-11-01 12:36:45 27 4
gpt4 key购买 nike

在我目前的工作单位,我们有一些真正令人震惊的代码被吹捧为下一代框架。

事实是,只有一个人持这种观点,那就是撰写大部分观点的人。部门的其他人都认为它的编码很糟糕,调试起来很麻烦,而且总的来说有点笨拙。

写这篇文章的人在管理层有相当大的影响力,所以他们站在阵营的那一边。

我们已经向管理层强调了(真正的)担忧,但显然他们不愿意将更多时间投入到一个不会直接为利润做出贡献的项目中。

此框架上部署了多个应用程序,因此任何重构都需要包含这些应用程序。

整个事情是如此交织在一起,我们不能只是撕掉一个特定类的实现并以这种方式重写它,所以即使对核心 api 进行简单的更改也意味着一个大项目。

不过,它确实有 3 年的实时部署时间,并且满足了许多错误修复、极端情况和边界条件的要求。

考虑到这将是几个大型项目,我们是分部分重写并尝试重构它,随着时间的推移进行重构,这可能还需要 3 年才能使其成形,还是我们只是重写我们的特定需求现有框架的?

最佳答案

几乎普遍来说,重写一些东西是个坏主意——你花了几个月的时间工作,但在完成之前一无所获。并且假设您不会成为第二系统效应的牺牲品,并且您实际上确实完成了。

重构几乎可以肯定是正确的答案。我没有任何重构 PHP 的经验(我做 C++ 和 C#),所以我不能提供任何具体的建议。您必须继续婴儿步骤。

  • 首先,确定最让您反感的代码部分。对我来说,在 C++ 中,这是全局变量。
  • 其次,进行小规模重构,一次解决一个问题。为了避免破坏该代码的旧客户端,您可能需要放置一个外观。您可以在旧代码上放置一个新外观,也可以在新代码上放置一个旧外观。
  • 第三,也是最重要的一点,除非您真的有信心,否则请确保您对要重构的代码有一套可靠的单元测试。

但是:不要为了重写代码而放弃一切。逐步重构。它会稍微减慢您的速度,但您仍会在前进的过程中创造值(value)。

参见 this article这将帮助您向管理层解释技术债务。它还将解释为什么他们似乎不关心。

关于php - 重构的成本是否超过重写的成本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/577083/

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