编写许多小函数或不太大的函数是否更好?

时间:2016-06-30 14:52:58

标签: php function optimization

目前正在开展一个项目,我想到了这个想法:

编写许多小函数或不太大的函数是否更好?

我是用PHP编写的,如果它在编译等方面很重要,但在一般意义上哪个更好?

伪代码示例1:

// Param i
func example
  switch i
    case x: 
      do func 1
      do func 2
    case y:
      do func 3
      do func 4
  end
end

伪代码示例2:

// Param i
func example
  switch i
    case x:
      do stuff from func 1
      do stuff from func 2
    case y:
      do stuff from func 3
      do stuff from func 4
  end
end

1 个答案:

答案 0 :(得分:2)

如果您评估了您要求这些函数执行的操作,那么函数中是否存在大量代码块,这些代码块具有不可忽略的被调用但未被使用的机会?

例如,如果你有一个处理图像的函数并且如果是PNG就行动,或者如果是JPG就行动,那么它更容易运行两个函数,一个用于PNG,一个用于JPG,只需要一个决策函数来选择这些将根据传递的图像参数调用。

一大功能

imageloader($imgFile){
    if (image is PNG){
        load image 
        resize image
        output image
    }
    if (image is JPG){
        load image 
        resize image
        output image
    }   
}

几个较小的功能

imageloader($imgFile){
    if (image is PNG){
        call pngimg function
    }
    if (image is JPG){
        call jpgimg function
    }
    resize image
    output image
}

pngimg($file) {
    return load PNG image
}

jpgimg($file) {
    return load JPG image
}

上面的代码现在意味着如果你的代码的另一部分需要加载JPG图像但是需要调整它的大小,你可以简单地调用imgjpg函数,这为您的代码使用增加了更高级别的灵活性。

另外,它取决于一个函数的某些部分在其他情况下是否有用,在这种情况下,将该函数本身设置为简单,并在运行函数中简单地调用它。运行 D R 重复 Y 我们自己(DRY)编程原则。

这都是假设,并且在很大程度上取决于您的实际代码实际是什么,以及您打算将其用于什么以及您的代码维护和未来开发的时间表。