Ask HN: What software engineers/programmers to make sense of large code?
I'm interested to know if there are tools or programs that help software engineers understand big source code bases (projects that have lines of code in the thousands), like how to understand all the parts involved.
4 comments
[ 3.2 ms ] story [ 17.3 ms ] threadopengrok is also a good tool for searching.
Also, you haven't really defined what "makes sense" means for you. Does that mean being able to refactor it, maintain or just evaluate it?
That said, the following are essential:
1. An IDE with a fast token-based search
This is the number one requirement, you need to be able to search for a badly remembered function or variable name to find the method. Jetbrains' "Go to anything" search that resharper/rider has is unrivalled here, you can quickly see partial matches and the type of match (function, variable, etc)
2. An IDE with a text editor that won't choke with 5-10k LOC files.
If your environment is freezing up any time you open a certain file then you'll have no chance if (and you likely will, for a large enough project) you encouter a monster file.
3. Pen and Paper
Don't be scared to write things down, draw diagrams and write down your mental models as you go. A pen and paper is essential, it persists through all sessions, can't crash and if you think something is wrong you can easily throw it out and start again without considering that time wasted.
thank you for the reply.
BTW thousands line of code is NOT a big code base.