哪些算法可以分析库裂变的调用依赖性?

时间:2011-11-30 14:51:00

标签: refactoring dependency-analysis

假设我有一个包含许多相互依赖的函数的库,这个库太大了,我想将它拆分。有哪些算法可以找到合适的分区?

简单的例子,它有四个函数:alpha,beta,gamma和delta。

  • beta和gamma都称为delta。
  • module1调用alpha和beta。
  • module2调用gamma。
  • module3调用alpha,beta和gamma。

算法的输出可能是:

  • LibA包含(alpha,beta)
  • LibB包含(gamma)
  • LibC包含(delta)
  • module1依赖于LibA
  • module2依赖于LibB
  • module3依赖于LibA和LibB
  • LibA依赖于LibC
  • LibB依赖于LibC

即。它找到具有以下属性的最细粒度的Lib *分区

  

对于所有X,如果LibX被任何方法划分为LibY和LibZ,那么依赖于LibY的所有模块/库也依赖于LibZ,反之亦然。

这是否有标准解决方案?

0 个答案:

没有答案