Refactor away `composer.core`
See original GitHub issueRefactoring away composer.core
will help organize the imports (and thus API reference). For example, the logging base class is in composer.core, but the logger hparams base and logger implementations are in composer.loggers. This complicates the imports, leads to circular dependencies, and reduces the docs readability (since now one must look in two different places for the docs).
Instead, would it be possible to refactor away composer.core
? I am thinking of a refactor like the following:
-
composer.core.algorithm
->composer.algorithms.base
-
composer.core.callback
->composer.callbacks.base
-
composer.core.data_spec
->composer.datasets.data_spec
-
composer.core.engine
->composer.engine.engine
(new module forcomposer.engine
) -
composer.core.evaluator
->composer.trainer.evaluator
(depends on #329) -
composer.core.event
->composer.engine.event
(new module forcomposer.engine
) -
composer.core.precision
->composer.types.precision
(new module forcomposer.types
) -
composer.core.profiler
->composer.profiler.profiler
(addressed in #422) -
composer.core.serializable
->composer.types.serializable
(new module forcomposer.types
) -
composer.core.state
->composer.engine.state
(new module forcomposer.engine
) -
composer.core.surgery
->composer.utils.surgery
-
composer.core.time
->composer.time
-
composer.core.types
->composer.types.types
(new module forcomposer.types
) -
composer.core.logging
->composer.logging
Because of integrated core
is into the best of the codebase, it would probably be best to move one file per PR.
Issue Analytics
- State:
- Created 2 years ago
- Comments:8 (8 by maintainers)
Top Results From Across the Web
CCS/CODECOMPOSER: How can I find the "refactor ... - TI E2E
To disable simple mode go to the View menu and select Getting Started. Then select no to using Simple Mode. Hi John,
Read more >Complete Guide to Refactoring Old Code (Part 2): Migrated An ...
This article will outline a practical approach to refactoring legacy code in discrete pieces, each of which may be released and tested ...
Read more >How To Do Large Scale Refactoring - InfoQ
Refactoring by definition means changing the internal structure of a program without modifying its external functional behavior.
Read more >[core] Refactor templating management by jimschubert · Pull ...
This refactors template management to get logic out of DefaultGenerator and to provide a cleaner API to template search and read/compile.
Read more >Refactor bootstrap to better utilize the kernel - Drupal
Make the kernel bootstrap Drupal and itself by adding a static kernel factory method to Drupal\Core\DrupalKernel thus DrupalKernel:: ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Yes! See https://github.com/mosaicml/composer/issues/155
Closing – moved to JIRA and some of this we won’t do