refactor (DownloadCall): Simplify the method DownloadCall::execute #170
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.
Problem: The method DownloadCall::execute is long and complex.
Solution: Refactor the method.
Extract a helper method to perform the main logic in a loop
tryDownloadInLoop
.Extract 2 helper methods to calculate
cause
andrealCause
.Simplify the "retry" loop logic.
The structure of the main logic is kept consistent with the diagram at https://github.com/lingochamp/okdownload/blob/master/CONTRIBUTING.md
Request for help
I work on semi-automatic refactoring pull requests.
If you want to help me help you, and you think this project will benefit from refactoring PRs, please click the link below.
If this PR annoys you, please click on the link below, so I will stop doing it in other repos as well
Assaf