RefactorFirst
RefactorFirst copied to clipboard
Identifies and prioritizes God Classes and Highly Coupled classes in Java codebases you should refactor first.
Cycles with the same edges should be prioritized first. The highest frequency edges should be prioritized first. Maybe do something like this? ```java Map minCutEdgeCount = new HashMap(); rankedCycles.stream().flatMap(rankedCycle ->...
As @unclebob (I think) said well: "What is used together, goes together. What changes together, goes together." Use the Chameleon clustering algorithm (or possibly the BIRCH or Spectral Clustering algorithms)...
Migrate to OpenRewrite to parse classes. This will enable additional languages to be analysed in the future.
Java 23 does notwork yet. `[ERROR] java.lang.IllegalArgumentException: Unsupported class file major version 67 java.lang.IllegalArgumentException: Unsupported class file major version 67 at org.objectweb.asm.ClassReader.(ClassReader.java:199) at org.objectweb.asm.ClassReader.(ClassReader.java:180) at org.objectweb.asm.ClassReader.(ClassReader.java:166) at org.objectweb.asm.ClassReader.(ClassReader.java:287) at net.sourceforge.pmd.lang.java.symbols.internal.asm.ClassStub$1.doParse(ClassStub.java:95)...
Average commit count of classes in a cycle is strongly correlated with the number of classes involved in a cycle and should only be calculated when `showDetails = true`
Hello, In readme, the following link is broken: https://resources.sei.cmu.edu/asset_files/Presentation/2011_017_001_516911.pdf Maybe a copy could be kept in the repo.
Follow color scale similar to https://www.netiq.com/documentation/operations-center-57/user/data/displaycolors.html