接管代码库,解决意大利面条危机

我们都去过那里。 有人问您是否可以浏览停滞了一段时间的他们的网站。 一些小的东西需要改变。 您已准备好迎接挑战,因此您会潜入。发现的是一团糟。 真的没有人有错。 事情随着时间的推移而发展,不同的开发人员和设计师在不同的时间做他们的事情。 没有人意味着任何恶意,每个人都尽了最大的努力。 但是你在这里。

这些问题有很多形式,但是弹出最多的是共享服务器,该服务器正在为隔壁那家商店运行一个网站。 多年来,所有者越来越依赖该站点。 也许它包含他的主清单,或者他的联系人数据库。 它起初是一个新奇的东西,没有人依赖,但是现在它正Swift成为关键任务。

因此,您已经在FTP客户端中打开了公共HTML文件夹,并在浏览器中打开了PHPMyAdmin。

这是我当前的行动计划,随时添加和建议工具。

备份整个站点

为了爱上帝,请立即备份! 您很有可能正在查看该网站唯一副本 。 如果服务器发生任何事情,如果您弄乱了一些小东西,您将非常非常抱歉。

cPanel和Plesk,最流行的域控制面板都提供了开箱即用的备份解决方案。 它们不是完美的,但是它们允许您创建整个站点的完整转储。 如果您可以安排每日备份,那将是一个加分。 如果您可以将备份发送到站点外的某个地方,则另加一个。

如果您可以通过外壳访问服务器,则可以使用许多其他工具,这些工具可能比上面的工具更容易使用或可能不容易使用。

无论您做什么,还请检查备份。 它是否包含数据库转储? 是否包含所有文件? 如果您要搞砸DNS和电子邮件,则可能要检查是否也进行了备份。

您现在可以放心地开始开发/调试了。 这不是完美的,但至少您还有一些需要依靠的地方。 我至少要再走一步。

在版本控制下获取文件

如果要对多个不同的任务进行多项更改,则需要将所有代码置于版本控制下。 最简单的方法:将整个公共HTML文件夹置于版本控制下。 您可能在那里对多个文件进行了版本控制,但至少您没有丢失任何东西。

弹出的一个典型问题是并非每个人都会使用版本控制。 例如,即使最简单的WordPress博客也可能引起问题,因为可以从管理控制台中编辑某些文件。

如果您具有外壳程序访问权限,则可以在服务器本身上安装和使用版本控制。 但这不适用于共享主机。

我还没有找到完美的,自动化的解决方案,但是有一些工具可以让您查看FTP目录和本地目录之间的差异。 一旦您超越了它的古老界面,超越Compare 3就是一个非常不错的选择。

您现在在一个不错的地方。 重大灾难将通过备份解决,较小的问题可以通过回滚造成灾难的更改来解决。

还有一个通配符:数据库。 特别是如果您的工作涉及对数据库的结构性更改,那么您可能需要研究……

数据库的版本控制

很少有人进行数据库版本控制,当它发生时,它并不总是能正常工作。 但是,如果您不想在几个表上执行该规范化操作,那就没有办法了。 您必须在版本控制系统中获取数据库。

从这里开始 ,如果您想进一步介绍它,那之后写了很多工具,可以使您的生活更轻松。

(单元)测试代码

根据应用程序的语言,甚至在考虑创建备份之前,您可能只是自动编写测试。 如果这是一个PHP网站,那么以前没人会想到这一点。

您可能认为测试对您的特定应用程序并不重要,但请帮我一个忙:在那里至少进行一个测试,以便您已建立结构。 如果您添加了新代码,您将更有可能添加更多测试。

从一个测试开始测试套件,然后从那里开始进行扩展。

集成/ GUI测试和持续集成

如果您完成了前面的步骤,那么您会比大多数人做得更好。 自动化的GUI测试,连续的集成服务器甚至是连续的部署环境等,这些都锦上添花。 但是,如果您有时间和预算来进行设置,那么您将是一个非常高兴的开发人员。

结论

仅到目前为止,到目前为止还没有发生过任何糟糕的事实,因此许多站点仍然存在。 如果您要更新这样的站点,那么如果发生任何问题,很有可能会承担责任。 即使这完全超出了您的控制范围。 以上步骤将确保您已做好准备,并且可以开始重构代码而无需担心。

这是一篇不断发展的文章,我将不断进行更新。 提示是不受欢迎的。

参考: 我们的JCG合作伙伴 Peter Backx的Streamhead博客上,接管了代码库,解决了意大利面条危机


翻译自: https://www.javacodegeeks.com/2012/04/taking-over-codebase-solving-spaghetti.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值