2011-09-30 11 views
2

我是一名初学者,但我写了第一个小项目,并且关于它的一些内容并没有真正的感觉。我希望我能清楚地描述问题。一堆互相呼叫的小函数。更好的方式来组织我的代码?

我的整个程序基本上的相互调用的,然后的代码的一个或两行调用初始函数来启动关闭“连锁反应”,并返回所需的结果小的功能的桩。

它看起来有点像这样(我使用PHP):

$result = func_A($args); 

function func_A($arg1, $arg2){ 
    $localvar1 = blah blah; 
    $value = func_B($localvar1, $arg2); 
    return $value; 
} 

function func_B($arg1, $arg2){ 
    $localvar1 = blah; 
    $value = func_C($localvar1, $arg2); 
    $return value; 
} 

function func_C($args){ 
    blah blah blah 
} 

所以,当我试图去通过我的代码,我到处乱窜乱跳遍布像疯了似的功能之间的地方。

有没有更好的方法来做到这一点?我应该在我的其他功能中创建本地功能吗?这只是感觉不太对。

回答

2

总的来说这很好。我们需要更多地了解具体目标以及代码如何进行更多细节。一般来说,保持功能上的细节和从一个主要的“命令”中心调用它们是程序编程的好方法。

然而,这对我的工作的一般高层次的规则:

  • 不要重复自己。如果你发现你正在通过 重复做同样的事情,请对此做一个函数。如果你从一个 文件中加载一个值,用它计算一些东西,然后回显一下,为它创建一个函数 。

  • 不要过分专注太多。大量的2线功能可能是 不是一件好事。

  • 如果可以的话,一般。不要使5个不同的功能将 连接到5个不同的数据库。创建一个函数并传递数据库的名称以连接到该数据库。请参阅有关不要自行重复 的规则。

  • 如果您有一个调用另一个函数调用另一个函数,并且它们总是以这种方式使用,请考虑使用它们的单个函数 。

  • 对象对于处理一组值和处理它们很有用。对于一个快速的脚本来说,并不是那么多,但是如果你要做一些实质性的工作,比如验证数据,存储数据,读取数据,将数据写入单个字符串,那么这就是创建一个班级的好机会。类可以方便地放入一个文件中,然后您可以在其他项目中使用这些文件,并且如果您经常对此类进行维护,那么如果您的初始设计是稳定的,则使用它的脚本可能根本不需要进行更改。

+0

感谢您的帮助,这清除了我的东西。我想我可能已经安排好了我的功能,使它不那么容易混淆,但是我很高兴看到使用一堆这样的辅助函数是很好的。 – MikeJerome

2

有什么本质上错误的(事实上很多右)这种方法,如果你正在做的过程编程(因为它似乎你)。

PHP现在的确支持对象(尽管在一个令人难以置信的丑陋的方式,在我看来),所以,有可能是修改代码更OO的说法。但是,将各种任务分离成可以编辑的小型单个函数是有意义的。

我知道这是有点争议,但如果你只是在PHP中起步的,除非它是你的客户/雇主的核心要求,我将完全绕过它,并期待到Node.js的 在客户端/服务器岛两侧使用一种语言会带来很多好处,而不是将任务分成两个相似但看起来不同的语言,它们在您工作时持续共享屏幕空间,要保证服务器和代码的显示部分真正分离是多么麻烦。

当然PHP已经成为根深蒂固,以至于很多人都认为这是一个定局。但是(我毫不相干的观点)把所有粉丝放在一边,它有很多缺点,而且退休真的很成熟。

0

您可以使用引用来避免重复。将你的函数名称添加到数组中,当你需要一个解决方案时,你有一个主函数循环访问该数组,并用$ this - > $ function_name调用该函数。

相关问题