Michael Bonar wrote: > MSVC6 has a Visio add-on that allows you to reverse engineer C code > into UML diagrams. Anybody have experience with it? I was thinking > of giving that a try to see what it looks like.
It probably looks a lot like UML generated automatically from C code. :) I've never been able to understand the appeal of CASE tools like this. How on earth is a machine going to read your code for you and tell you how the design works? The whole point behind overview documentation is that it captures the *intent* behind the code -- that is exactly the part of the design that is not actually found in the code. By its very definition, it can't be automatically extracted. It has to be either written down by the designer or intuited by the reader. At best, a tool like this could make source navigation easier. Having tools to answer questions like "who calls this?" or "where are these made?" is useful. But that's best done at the level of C syntax, IMHO, not in a separate diagramming language. A lot of this, to be quite honest, is just me being a luddite or an elitist. It's been my experience that elaborate documentation schemes really aren't worth it. There seems to be an inverse relationship between a programmer's penchant for fancy design tools/methodologies and their ability to understand a design presented to them. The really productive coders I have known are happy with a one page README file for documentation, and tend to be able to dive into existing "undocumented" code and figure stuff out very well. The folks who insist on having <pick your jargon> available tend to struggle whether they get it or not. All in my experience, of course. None of this is to say that documentation is a bad thing. But elaborate documentation and design work is, IMHO, largely useless or self-defeating. In the professional world it tends to hamstring the best workers for the benefit of the worst, thus running afoul of Fred Brook's (The Mythical Man Month) observations about productivity. Really good examples of sane documentation can be found in the Documentation directory of the Linux kernel. The files there tend to tell you exactly what you need to know, and give you enough hints to discover the rest on your own and/or clue you in on what questions to ask of the people who know. Andy -- Andrew J. Ross NextBus Information Systems Senior Software Engineer Emeryville, CA [EMAIL PROTECTED] http://www.nextbus.com "Men go crazy in conflagrations. They only get better one by one." - Sting (misquoted) _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel