我已经被交给了一个应用程序的大型无文档代码,它是用php编写的,因为原始的编码器是AWOL的。我的任务是添加新功能,但如果不理解代码,我就无法做到这一点。老实说,我被大量的源代码淹没了。我发现:
现在,我正在寻找一些我用来理解这段代码的技术。例如,考虑以下代码片段:
class SiteController extends Common {
private $shared;
private $view;
protected function init(){
$this->loadShared();
$this->loadView();
}
private function loadShared(){
$this->shared = new Home();
}
private function loadView(){
$this->view = new HomeView();
}我想知道
此外,请分享一些用于理解用php编写的现有代码的技术?
发布于 2011-04-06 21:29:04
首先,在这种情况下,我试图获得应用程序概述:某种全局概念:
一旦你有了这个全球性的想法,如果你有时间的话,你就有可能开始理解代码是如何工作的,那就是使用PHP调试器。
关于这一点,Xdebug + Eclipse是一种可能性--但几乎所有现代IDE都支持它。
它将允许您一步一步地、逐行地生成一页,了解所称的内容,何时,从何处,.
当然,您不会在整个应用程序中这样做!
但是,由于您的应用程序使用了框架,很有可能应用程序的所有部分都以相同的方式工作--这意味着真正理解一个组件应该有助于更容易地理解另一个组件。
作为几个工具来理解什么称为什么、如何和地点,您可能想看一看:
还要注意的是,应用程序不仅仅是代码:它通常发现反向工程数据库、生成所有表的图表非常有用。
如果你幸运的话,你的数据库里有外键--这样你就能在表之间建立链接,这将帮助你理解它们之间的联系。
发布于 2011-04-06 21:30:21
你需要个IDE。我在PHP中使用netbeans,它工作得很好。这将使您可以通过右键单击并选择“查找哪里定义的”选项或类似的选项来查找home will /home类的位置。
你可以得到一份名单。这叫做堆栈。使用IDE设置类似于xdebug的调试器将允许您这样做。
发布于 2011-04-06 21:32:46
grep是唯一能让我活下来的东西
https://stackoverflow.com/questions/5573116
复制相似问题