具有多个相关项目的代码组织

时间:2013-07-18 19:48:45

标签: php wordpress project-organization

我正在使用WordPress开发一个需要一些自定义插件的网站项目。我想保持插件模块化,但其中一些需要类似的功能。所以,我发现自己的目标相互矛盾:

  • 使每个插件都自包含且模块化
  • 不要重复代码

例如,我需要在两个不同的插件中根据术语列表和一些参数输出<select>元素。我写了一个函数来完成这个,但是我应该在两个插件中复制这个函数吗?这似乎是一个维护噩梦,但如果我不这样做,一个插件将以一种非常随意的方式依赖于另一个插件。我是否缺少一些聪明的解决方案?

1 个答案:

答案 0 :(得分:1)

考虑重复的代码。特别要考虑功能的数量和长度。如果两个插件只共享一些格式化方法,那么复制该代码以保持插件自包含并不是一件大事。

如果重复代码变得非常沉重,请开始考虑执行以下操作之一:

  1. 将插件合并到一个插件中。只有在两个插件适合同一问题空间时才能执行此操作。仔细看看这些插件。有可能是什么使得它们在虚幻之前看起来是分开的,而且基本行为是密切相关的。

  2. 将重复的代码解压缩到第三个插件中,该插件是共享代码的每个插件的依赖项。只有重复的代码是相关的并且作为插件才有意义时才这样做。