For anything much more complicated than undergraduate level academic exercises, the right design media isn't the code itself, it's the modules and their interfaces and how they are interconnected. This sort of thing is much more effectively captured in diagrams than in linear constructs like code.
To put a finer point on it, the design of any non-trivial system is much more effectively communicated as diagrams. You wouldn't try to convey how such a system works to the new hire, by wading through hex dumps of the executables, or even assembly listings. I've been on projects and had 300K (bytes not sloc!) of C++ source dumped on me, though, and something like that is immune to all but the simplest tweaks until you suffer the pain of distilling a set of accurate diagrams of what's going on.