Orchestrator: convert to class implementation (issue 167) #333
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🗣 Description
I converted the orchestrator module to a class. My aim when refactoring this module was to minimize the changes to the original code, while converting the individual functions to methods of the Orchestrator class. I kept the use of
args
from the parsed command line arguments, rather than try to separate out the nearly 20 arguments into instance variables. This helps to keep the structure of the code the same.If you compare this class implementation with the non-class module, while ignoring
whitespace and empty lines, there are only 37 differences.
💭 Motivation and context
closes #167
🧪 Testing
I've tested these changes by running several different variations of ScubaGoggles runs. With minimal changes made to the code, I've got a high confidence that the class works correctly, as it did when the orchestrator was implemented as separate functions in the module.
✅ Pre-approval checklist
✅ Pre-merge Checklist
Squash and merge
button.✅ Post-merge Checklist