4 ms·
No automated tool will come close to having a 5 minute conversation with the main designer and having him draw you a diagram freehand on the back of a napkin. T
by _dain_ 4y ago
No automated tool will come close to having a 5 minute conversation with the main designer and having him draw you a diagram freehand on the back of a napkin. This is a social and organizational and communication problem, not technical.
If that can't be done, there are some interesting things you can try. A lot of the suggestions in the thread are "top down" methods; you can get a lot of value out of "bottom up" visualizations too. Things like:
- Histograms of which lines / functions get called the most, or spent the most time in
- Which lines / functions / files get changed the most in the git history
- CPU flamegraphs
- Plain old print-debugging
In over-architected systems it can be difficult to figure out where the real "meat" of the code is, as opposed to the endless layers of configuration and wrappers and interfaces and indirection. UML diagrams may not help, or even be deceiving, but a stack trace never is.
- buescher 4y agoThe way to capture the content of a conversation like that, so that more than one person at a time can easily benefit from it, is in a theory of operation document with appropriate illustrations. Simple block diagrams will take you far before you need to specify something in the level of detail that the UML supports. I like the range of approaches in the Architecture of Open Source Applications books: http://aosabook.org/en/index.html http://aosabook.org/en/index.html