RefactorFirst
RefactorFirst copied to clipboard
Identifies and prioritizes God Classes and Highly Coupled classes in Java codebases you should refactor first.
Implement ECL-SSC, described in https://userweb.cs.txstate.edu/~burtscher/papers/sc23c.pdf, to identify strongly connected components in the DSM class. C++ / CUDA implementation is available at https://github.com/burtscher/ECL-SCC.
Create custom GitHub Action by transpiling RefactorFirst to JavaScript and invoking it. See https://stackoverflow.com/a/51349655 for transpiler options. It's possible this may be a terrible idea 🤣
Add the option to generate a brief report that only shows: - The God Class graph and table - The Highly Coupled Objects graph and table - The full software...
Perform an incremental analysis locally between: What has been committed / the last commit in the branch that exists in Origin and The current state of the local repository to...
Virtually remove each minimum cut edge from the graph, list the impact of removing each one (number of cycles, nodes, and edges less than current situation), and suggest the optimal...
Optionally compare HEAD to the latest release to check if new disharmonies / cycles have been introduced and if existing ones have gotten worse or improved
Optionally compare the current branch to HEAD to check if new disharmonies / cycles have been introduced and if existing ones have gotten worse or improved
Hyperlink class names in the report to the corresponding file in the origin repo on GitHub. GitLab and Bitbucket may be added later.