让我们说我们有它的一些方法,其中至少有一个相当复杂性质的一类:如何正确构造函数?
class Example {
public function Example()
{
}
private function complexFunction():void
{
//Do this
//And do that
//And of course do that
//and do not forget that
}
private function otherImportantFunction():void
{
//Do something
}
//[...]
}
现在“complexFunction()”已经成长很长,也有点复杂。因此,增加可读性的一件好事就是在较小的子函数中分割“complexFunction()”。我通常不喜欢这样写道:
class Example {
public function Example()
{
}
private function complexFunction():void
{
doThis();
doThat();
andOfCourseDoThat();
andDoNotForgetThat();
}
private function doThis():void
{
//Do This
}
private function doThat():void
{
//Do That
}
private function andOfCourseDoThat():void
{
//And of course do that
}
private function andDoNotForgetThat():void
{
//And do not forget that
}
private function otherImportantFunction():void
{
//Do something
}
//[...]
}
但现在的类是在较小的功能,其唯一目的已经淹死在里面得到调用一次“complexFunction()”。多做一点“分裂”,很难发现所有这些辅助函数之间的重要方法。
至少这是我一直在发生的事情,清晰度真的会受到影响。这让我想知道你是否知道解决这个难题的方法?当然有办法或'最佳实践'来处理这个问题? 我梦想着将功能组合在一起,或者将次要功能从属于上层功能,而不需要为此创建一个全新的班级。或者它是如何完成的?
我试着只编写可重用代码的函数。如果一个函数只被一个“主函数”调用一次,我不觉得有一个函数是一个好主意。如果你注释掉你的复杂功能,它可能会更容易阅读...... – 2013-05-03 12:14:12
如果它在该“主功能”中被多次调用? – 2013-05-03 12:23:41
然后,你显然不应该重复代码,但写一个函数... – 2013-05-03 12:26:10