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