Visualizing Code
We talked about how visualizing code is hard. If you walk into a factory with flickering lights, loose cables and oil spills on the ground it is readily apparent that your working environment needs immediate remediation. This sort of situation is named technical debt in software. And it's really difficult for non-coders to see and understand.
One tool for visualizing this is Design System Matrices (DSM) where dependencies between files/modules/classes can be depicted.
Having dependency cycles is a particular anti-pattern as changes in one area of the code can ripple changes through all code involved in the cycle. Alistair used the cool metaphor of building firewall's in our code to prevent this spread.
Alistair mentioned some simply tools to capture the statements and code nesting by simply printing semi-colons and braces respectively: