继承了PHP的噩梦,从哪里开始?[已关闭]

2022-08-30 12:06:26

我继承了一个PHP项目,结果却是一场噩梦。以下是突出的要点:

  1. 所有原始开发人员都已离开
  2. 代码没有版本控制
  3. 所有开发和测试都是通过重命名和编辑PHP文件在实时服务器上完成的。每个文件索引有多个副本.php,index2.php,index3.php等,目前尚不清楚哪些文件真正被使用。
  4. 每个文件中有多个包含文件,其中包含包含其他文件的其他文件等。
  5. 该项目有多个开发人员,每个人都有自己的做事方式。例如,有一个大杂烩的JavaScript框架,一些数据库查询使用SQL,其他数据库查询使用XML接口,另一些则调用数据库中的过程函数。

由于所有这些问题,开发速度非常慢。除了向Stack Overflow发泄我的挫败感之外,还有什么关于如何开始这个混乱的建议吗?我自己对PHP开发还很陌生,但似乎设置某种开发环境,以便在不破坏实时服务器的情况下测试更改是第一步。关于如何从这里开始的任何提示?什么是进行测试的典型方法?在我的桌面上设置站点的本地版本似乎需要做很多工作(服务器是Linux,但这里的桌面是Windows)。我是否可以在实时服务器上创建子目录进行测试,或者..?数据库呢?

其次,是否有某种分析可以启用,以跟踪服务器上的哪些文件实际正在使用?我想删除实际上未包含的内容的重命名副本。更好的是,有没有办法判断文件的哪些部分没有被执行?有很多复制的函数和垃圾,我怀疑它们也没有被使用。同样,对于包含,任何关于纠正混乱的提示?

好吧,我就不在这里发泄了,把自己扔在这里的每个人摆布。:)


答案 1
  1. 首先,按原样获取版本控制中的文件。在完成之前,不要继续通过#1。
  2. 建立测试环境。
  3. 清理文件

答案 2

我已经做到了。你有我的同情。如果您的护照不是最新的,或者由于其他原因您无法避免这样做,以下是我的方法:

第零步是让它进入版本控制,无论它有多糟糕。如果它甚至有点工作,并且你破坏了一些东西,你需要能够回到工作状态 - 或者至少将你的更改与它进行比较,以找出出了什么问题。在重构时,请进行频繁的小签入,这样当事情神秘地出错时,您将有更少的代码可以回滚。(事情会神秘地出错。

之后,我将从数据库开始。确保所有内容都相对良好地规范化,列被清楚地命名,等等。

接下来执行 PHP 代码。如果代码真的是拼凑而成的,我会继续把它放到一个框架中。看看CakePHPSymfony - 他们以Rails式的方式分离关注点,使得“这段代码应该去哪里?”这个问题很容易回答。这不是一个小任务,但是一旦你完成了它,你可能比拥有一个理智构建的应用程序要好一半。此外,一个好的Web框架的内置测试工具使重构变得更容易 - 在更改之前编写一个测试来覆盖现有的功能,并且您将知道在更改后是否破坏了任何东西。

一旦你对数据库进行了排序,并且在模型中有了模型代码,在控制器中有了控制器代码,那么你可以担心表示级的东西,比如在单个JS/AJAX库上标准化,清理CSS等。

至于开发环境:你绝对应该设置一个本地的开发环境。那里有交钥匙WAMP软件包,或者你可以安装到Linux box/VM(我推荐VirtualBox进行虚拟化)。您还应该有一个模拟实时服务器的单独集成测试环境。除了实时代码之外,什么都不应该在实时服务器上运行。

就调试/分析工具而言,我知道Symfony附带了一组非常光滑的工具,包括一个小的JS工具栏,它出现在你的页面上(仅在调试模式下),其中包含日志记录和分析信息。

祝你好运。


推荐