You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-7Lines changed: 5 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,8 +15,8 @@ Code map viewers are powered by [3D Force Graph](https://vasturiano.github.io/3d
15
15
<br>If there are more than 4000 classes + relationships, a simplified 3D viewer will be used to avoid slowdowns. Features will be toggleable in the 3D UI in a future release.
algorithms are used to identify the most optimal classes and relationships in a codebase to remove cycles.
18
+
Cycle analysis is performed with cutting-edge[Directed Feedback Vertex Set](https://dl.acm.org/doi/10.1145/3711669) and [Directed Feedback Arc Set](https://arxiv.org/abs/2208.09234)
19
+
algorithms to identify the optimal classes and relationships between classes for removal to get rid of cycles in your codebase.
20
20
These algorithms are powerful and will push your CPU to its limits for large codebases, though it does play nice and shouldn't slow your computer down.
21
21
These graph algorithms can be used outside RefactorFirst.
22
22
See [DIAGRAM.md](./graph-algorithms/src/main/java/org/hjug/feedback/vertex/kernelized/DIAGRAM.md) for the flow of the vertex kernelized algorithm.
@@ -26,12 +26,10 @@ See [DIAGRAM.md](./graph-algorithms/src/main/java/org/hjug/feedback/arc/pageRank
26
26
### How to understand the Relationship Removal Priority table
27
27
28
28
The Relationship Removal Priority table shows the most optimal relationships to remove from your codebase to remove all cycles.
29
-
The table is sorted by the number of cycles that a relationship exists in and then the change proneness of the clases in the relationship.
29
+
The table is sorted by the number of cycles that a relationship exists in and then the change proneness of the classes in the relationship.
30
30
- Classes that should be broken apart / removed from the codebase are bold.
31
-
- If only one class is bold, the method(s) called by the non-bold class in the bold class should be moved to the non-bold class.
32
-
- If both classes are bold, examine both classes and reassess the responsibilities of the classes and refactor to remove the relationship.
33
-
- If neither class is bold, examine both classes determine how the relationship between the classes should be changed to remove the relationship.
34
-
31
+
- If only one class is bold, the shared functionality should be moved to the non-bold class.
32
+
- If neither class or both classes are bold, examine both classes and reassess the responsibilities of the classes and refactor to remove the relationship.
35
33
36
34
Take a look at the [Spring Petclinic REST project sample report](https://rawcdn.githack.com/refactorfirst/RefactorFirst/c46d26211a91ffbe08d4089e04a85ff31eb093c0/spring-petclinic-rest-report.html)!
0 commit comments