- Purpose of the code, the approach taken, and any specific areas
- Error and Exception Handling: Look for proper error and exception handling for robustness. The application should be able to survive erroneous situations.
- Separating source code, tests, and configuration files neatly.
- Separate Data Preprocessing, Modeling, and Evaluation Code: It’s crucial to separate stages of the development process into distinct steps. This allows both modularity and an easier debugging experience, as issues can be located more swiftly in well-defined sections.
- Design a Configurable Pipeline: A pipeline that can be configured allows for easy adjustments to be made and allows various models, data, and preprocessing steps to be swapped out with one another efficiently.
- Breaking up a configuration into separate classes can increase modularity. Each config class can be responsible for one part of the application's configuration. This makes the code easier to read and maintain.
- How easy to test, How standalone it is
- Key approaches applied / Do's and do
- Is it at a level people can come/contribute / Open to DS forecast tracking people
- Basics needed to work on it
- Basics needed to understand it / Any references/patterns to cross-check
- Does it have good enough documentation/testing
- Have we implemented for one DB, or have we implemented for others to follow the pattern?
- Have we tested end-to-end in one flow?
- How do we manage configurations across data, ML, jobs, and results? Are these separate classes?
- This current work is fetching results, running pipeline, fetch status, Is there equivalent work done?
- What flow do we need porting type work? Mimic the same patterns?
- How to test standalone?
- What minimal knowledge to operate on this
Keep Exploring!!!
No comments:
Post a Comment