Disentangle modules to reduce (avoid) import cycles
- 主要語言
- Python
- 星號
- 712
- 分支
- 96
- 平均合併
- 3 天 1 小時
- 30 天內合併 PR
- 10
描述
Import cycles are somewhat frequent in framework. This points to the problem of suffering separation between modules. And everybody knows, that the lesser the modularity and the more entangled the code --- the more difficult to extend and change it.
For example, one of the known cycles is: `serializer` imports a lot of other modules, but at the same time some modules have imports from `serializer`. That's a cycle on the level of modules.
[Some discussion](https://github.com/nccr-itmo/FEDOT/pull/957#discussion_r1006956974) pertinent to the issue.
Solution of this issue is some rearrangement of modules/files/classes. It can be break some things that depend on the framework, and break backward compatibility with anything that depends on specific classpaths (e.g. old saved OptHistory). But it should be done at some point.
貢獻指南
評估
這個 Issue 還沒有評估資料。