PHP函数中返回语句后的代码

PHP函数中返回语句后的代码,php,function,return,Php,Function,Return,我在一个我不愿透露姓名的极其陈旧的网站上工作。现有代码中似乎有一种重复出现的模式,大致如下: function foo() { $a = 'a'; $b = 'b'; return; $c = 'c'; $d = 'd'; } 我非常不愿意从一个我没有编写的函数中删除现有代码,并且一切都按原样工作。但我想知道为什么 我所学到的一切(goto-line调用除外)都告诉我return语句后面的代码是无用的。它是?为什么以前的程序员会这样做 return语

我在一个我不愿透露姓名的极其陈旧的网站上工作。现有代码中似乎有一种重复出现的模式,大致如下:

function foo() {
    $a = 'a';
    $b = 'b';

    return;

    $c = 'c';
    $d = 'd';
}
我非常不愿意从一个我没有编写的函数中删除现有代码,并且一切都按原样工作。但我想知道为什么


我所学到的一切(goto-line调用除外)都告诉我return语句后面的代码是无用的。它是?为什么以前的程序员会这样做

return语句下面的代码无效,将不会执行。

return语句后面的代码将永远不会执行。最有可能的是,最初的开发人员希望快速测试变量的其他值,并将他的旧实验留在函数中。使用版本控制,您可以删除现有代码并恢复它,以防您再次需要它

我的第一个想法是,最初编写代码的人添加了返回,因为它之后的代码不再需要运行,但出于某种原因不想删除其他代码

一个可能出现这种情况的例子是,作者重写代码,以不同的方式实现它。他们将新的实现放在return语句之上,但将代码放在它下面,这样它就可以作为过去如何完成的“参考”。这样,如果他们意识到某些东西在新代码中不起作用,他们就可以轻松地查看旧代码


诚然,版本控制和单元测试使这项工作变得不那么有用,但无论如何,这并不是一件不寻常的事情。

是的。也许他在测试一些东西。我很感激有必要找出为什么以前的开发人员做了一些令人困惑和愚蠢的事情。我们常常发现自己只是耸耸肩,继续前行。。。直到几周后,当我们忘记我们所做的事情时,它会咬我们。干杯——我知道,对吧?在那个项目中,我面对面的次数是疯狂的,确认测试很可能就是背后的原因。版本控制是一个很好的观点,可能是我需要开始研究的东西,只是还没有找到一个负担得起的私有版本service@chris:负担得起的私人服务?使用dvcs(例如或),两者都是开源软件。它们还允许您在本地拥有版本历史记录,而不需要服务器我想您需要通过github、googlecode或similar@chris:不,你没有。这些系统是分布式的,可以在一台pc上工作(即使没有internet),为了共享,您需要设置自己的服务器(或者使用网络上的任何服务)。最后尝试catch,可以执行返回后的代码(PHP5.5+)