Deriving Structural Health from Dependency Graphs
https://twitter.com/KellySutton/status/1091153838709432320
Setup: What do we mean by dependency? When a file refers to another file, and that relationship is necessary for the job to be done.
What data will we be looking at? Rails model relationships
802 models 1043 relationships
Why models and not other components? If the data is coupled, the behavior is likely also coupled. To decouple, you need to start at the data layer and then work “up”
Rails encourages coupling and bidirectional relationships. Not a bad thing when you’re just getting started with a project. Over time, the features of ActiveRecord start to become bugs.
Longest path:
Strongly connected components:
Nodes with many outgoing edges