Hacker News new | ask | show | jobs
by billconan 2502 days ago
How is your tool different from doxygen?

my web server code if you need a sample https://github.com/shi-yan/Swiftly

I also really want to see a doc for wireguard

I think having a good doc is also on their todo list

https://www.wireguard.com/todo/

2 comments

I want to understand the big picture. So how many modules, the life cycles of them, the data flow between them.

I checked out your site: https://sourcespy.com/keyu-0003nt

Is this the same as UML?

To be honest, I think UML doesn't help much understanding code. In my opinion, code should be understood by looking at its runtime structure, not the static structure.

For example, you have a main thread that spawns worker threads and they work together. This structure only forms during runtime. in the code, there is only one worker thread class and one main thread class. Software is different from hardware. Hardware is more self-explanatory - when you have multiple hardware components, you have to physically put them on the board. Software is very flexible. The real architecture is created only when the software starts to run.

I think all previous attempts to generate documentation failed for a reason.

Reason is that we need to explore code, change the the views, add/remove modules as they explore. Static documentation (eg doxygen) is too rigid.

Developers need an interactive code explorer rather then tons of static HTML.