-
Notifications
You must be signed in to change notification settings - Fork 140
Description
Description
Problem:
I wanted to implement parallel downloading and inspected the code for this issue. But I could not find a single method that executes sequential download and could be changed for parallel work.
There are several files where some part of the download action happens, but this is always mixed with Database manipulation and and handling of URLs. So I can't identify the code which can be parallelized.
Furthermore there are some very complex methods that need refactoring to be understandable.
I executed a code check with Sonarcloud that considered several methods too complex. And many other issues were found. Here you can see the result:
[https://sonarcloud.io/project/issues?impactSeverities=HIGH&issueStatuses=OPEN%2CCONFIRMED&id=sieberss_Drifty]
My Suggestion
- extract all database operations and URL handling from existing code to new Classes and provide them as public methods
- put these classes in separate packages in Core module
- use package and class names only once, combine files with same name at one central place
- rename some classes and packages to better express their purpose
Advantages
- code becomes easier to understand
- it will be faster to find the code where changes have to take place
- better maintenance
- changes in database (e.g. other DBMS, use of frameworks like Hibernate) can be made with low programming effort
- possibility to integrate Drifty in something like a Spring application
Additional information
No response
Do you want to work on this issue?
Yes
Metadata
Metadata
Assignees
Labels
Projects
Status