RefactorFirst Report for spring-petclinic-rest 3.4.3

Back Edges
Highly Coupled Classes
Class Cycles

Class Map

Excludes classes that have no incoming and outgoing edges
Red lines represent back edges to remove.
Zoom in / out with your mouse wheel and click/move to drag the image.

Show RefactorFirst some ❤️
Star Fork Watch Issue Sponsor

Backward Edge Removal Impact

Current Cycle Count: 3
Current Average Cycle Node Count: 2.3333333333333335
Current Total Back Edge Count: 4
Current Total Min Weight Back Edge Count: 1
Edge Edge Weight In # of Cycles New Cycle Count New Avg Cycle Node Count Avg Node Δ ÷ Effort
Visit → Pet : 3 3 1 3 2.0 0.11111111111111116
Owner → Pet : 13 13 1 3 2.0 0.025641025641025654
Role → User : 3 3 1 2 2.5 -0.055555555555555504
EntityUtils → BaseEntity : 1 1 1 2 2.5 -0.16666666666666652
Show RefactorFirst some ❤️
Star Fork Watch Issue Sponsor







Highly Coupled Classes

Show RefactorFirst some ❤️
Star Fork Watch Issue Sponsor

Coupling Between Objects Chart Legend:

X-Axis: Number of objects the class is coupled to
Y-Axis: Relative churn
Color: Priority of what to fix first
Circle size: Priority (Visual) of what to fix first

Highly Coupled classes by the numbers: (Refactor starting with Priority 1)

ClassPriorityChange Proneness RankCoupling CountMost Recent Commit DateCommit Count
ClinicServiceImpl.java 1 1 22 12/28/24, 11:16 AM 23







Class Cycles

Class Cycles by the numbers:

Cycle Name Priority Class Count Relationship Count
Pet 1 3 4
Role 2 2 2
BaseEntity 3 2 2






Class Cycle : Pet

Red lines represent back edges to remove.
Zoom in / out with your mouse wheel and click/move to drag the image.


Bold text indicates back edge to remove to decompose cycle
Classes Relationships
Pet Pet → Visit : 9
Pet → Owner : 3
Owner Owner → Pet : 13
Visit Visit → Pet : 3





Class Cycle : Role

Red lines represent back edges to remove.
Zoom in / out with your mouse wheel and click/move to drag the image.


Bold text indicates back edge to remove to decompose cycle
Classes Relationships
Role Role → User : 3
User User → Role : 6





Class Cycle : BaseEntity

Red lines represent back edges to remove.
Zoom in / out with your mouse wheel and click/move to drag the image.


Bold text indicates back edge to remove to decompose cycle
Classes Relationships
BaseEntity BaseEntity → EntityUtils : 4
EntityUtils EntityUtils → BaseEntity : 1

Last Published: 3/16/25, 8:52 PM