> I am > saying if your code needs UML documentation to be understood, then it > is not suckless.
I fully agree. > Also, I tend to dislike auto-generated documentation because the > valuable part is very small and hidden among loads of crap. That depends on the tool you (have to) use. As an example, if you're only interested in a class diagram (and possibly some small documentation) doxygen will help you right away. I don't say that doxygen is great, but in this case the resulting diagram will most likely be the same as if you were to write the dot-file manually. > you will often end up with something that does > not explain better how the code works. If you try to cheat yourself you're doing something wrong anyway. But to the point: The purpose of a class or component diagram is not to tell you how your code works. In fact, even an activity diagram won't show you how it does something but what it does. And to be honest, I don't know of any tool to automatically generate the latter diagram. In my experience you're doing something wrong in your project if you can't denote the data-flow or execution order by a simple "A -> B -> C" because you can ultimately reduce this sort of thing into a mathematical formulation of your processing. This, of course, doesn't fully hold true when you're to write anything that does computations in parallel. I still have to find any sane mathematical notation for parallelism in programming languages though... regards