Summary:

Facebook today published an interesting visualization of just how complex its codebase is. Actually, the visualization is part of an application within the company, but it gets the point across: Making code changes is no small feat when every module is dependent on so many others.

Facebook modules

Facebook published an interesting visualization Tuesday of just how complex the codebase that constitutes its service actually is. Actually, the visualization is part of an application within the company, but it gets the point across: Making code changes is no small feat when every module is dependent on so many others.

You’ll have to read the original post for the fairly detailed explanation of the chart, but the gist is that it charts dependencies between code modules. As the author points out, Facebook’s web-facing front end presently consists of more than 10,000 PHP modules.

Why is this new, visually complex application important? Because, as the author explains:

This new system requires that when you write or modify a module, the modules that it is directly dependent on are fully determinable. Currently we do this via explicit specification, but we may do this automatically in the future. Making dependencies fully determinable ensures that circular dependencies are avoided, allows proper load order of modules, and provides a mechanism for understanding the interdependencies between modules.

Comments have been disabled for this post