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

被折叠的 条评论
为什么被折叠?



