codeforboston / home-energy-analysis-tool

https://www.codeforboston.org/projects/
MIT License
7 stars 25 forks source link

engine.py is too big and external interfaces are unclear #174

Open AdamFinkle opened 1 month ago

AdamFinkle commented 1 month ago

engine.py has grown to 500 lines and includes many kinds of methods and classes, the accessibility level of which is not obvious, either. This module would be more manageable and understandable if broken into two or more modules and accessibility levels were clarified. Chiefly, it has many methods that are used by just one method and one class, namely get_outputs_normalized and Home, the former of which depends on the latter. Ideas about and discussion of where to begin this process would be welcome and could ultimately contribute to a codebase that is easier to develop later.

Its only external access should be from get_outputs_oil_propane, get_outputs_natural_gas, and get_outputs_normalized.