有没有办法在一个视图中看到整个子类代码(来自上层)

时间:2018-04-27 08:05:29

标签: php oop inheritance refactoring class-hierarchy

如果一个类有5层次的层次结构,是否有办法或工具将层次结构中的所有代码组合成一个类(仅使用最深层的方法定义)?

在进行API版本控制时,我们只有一个代码库,我们在不同版本中使用继承来更改逻辑(仅在需要时),同时还重用旧版本的代码。 在20个版本之后得到的是一个类可以具有20层的层次结构。最旧的10个版本已被弃用(对公众不可见),但代码仍然可供新版本重用。

我们现在要做的是将这10个最旧的版本合并为一个版本(最新的已弃用版本)。这样我们在代码库中的混乱就会减少。一种方法是通过10个版本并将方法自己组合到一个类中,但有没有办法以编程方式执行此操作?

由于

1 个答案:

答案 0 :(得分:0)

这可以通过迭代应用Push Down Method来实现:

  

超类上的行为仅与其某些子类相关。

     

将其移至那些子类。

不做任何广告,但这种重构可以使用IDE完成。例如,PhpStorm可以帮助您提供push members down功能。