There are generally two practical approaches people consider:


Store dependencies as adjacency lists (custom structure)
Use a graph database


This post breaks down how each approach behaves across:


Creation
Updates
Deletion
Maintenance
Storage internals
Time complexity








The Problem: Code is a Graph





Example: Function...