3 ms·
> maybe because you wasted your time studying UML Seems a bit misleading, UML is consistently the best way I've seen to communicate ideas to other devs (especi
by lfowles 11y ago
> maybe because you wasted your time studying UML
Seems a bit misleading, UML is consistently the best way I've seen to communicate ideas to other devs (especially in an OO environment, but some diagrams could be useful from a functional viewpoint). The worst is spending an hour trying to work together with someone to figure out what they mean because they use their own invented notation or some pidgin-UML.
- kragen 11y agoI've definitely found UML class diagrams useful for that, and probably if I knew them better, they would be more useful. Other kinds of UML diagrams, like sequence diagrams, might be even more useful, especially if they had been designed better. But I feel like they belong on a whiteboard or a sheet of paper, where you can throw them away once you're done having the conversation; automatically-created UML class diagrams in my experience tend to be too unfocused to be useful (containing far too much information not relevant to what you're trying to talk about at the moment), and computer-maintained UML diagrams that aren't automatically created tend to get out of sync. (The exception is when you have a UML class diagram that demonstrates something like a protocol or a common pattern with a lifetime measured in decades rather than months or years.) But maybe this is just a reflection of the limits of my experience, and if I had worked with the programmers you've worked with, I'd be more sanguine about UML? I might be one of those guys you hate because of his pidgin-UML!
- lfowles 11y agoI definitely agree. We actually make heavy use of sequence diagrams where I work to show how our code works to non-coder stakeholders, where the syntax of a particular language is just a distraction. Like you said, UML is only useful as far as you don't have to maintain it and it's a curated subset (no.. Don't include my helper overloads, just give me the core essence of the class). When you do have to go out of your way to generate a diagram, they are best treated as postit notes for temporary communication or as high level snapshots of API flow or something relatively stable. As far as pidgin UML, as long as you keep to the basics you know and don't try to shoehorn something else in, that's fine. What grinds my gears is a poor reimplementation of something UML has already defined. I'd say most people only go so far as learning how to do class diagrams and don't realize the other diagrams are useful outside of upper management waterfall jackhattery. The best part of UML (I believe this is the view even from the creators but I may be wrong) is that you can take only bits and pieces and it's still damn useful.