5 ms·
UML as a projection is fine and a valuable tool. Starting with UML to describe a set of classes or - worse yet - an entire system is lunacy and a massive red f
by radicalbyte 3y ago
UML as a projection is fine and a valuable tool.
Starting with UML to describe a set of classes or - worse yet - an entire system is lunacy and a massive red flag.
- cubefox 3y agoWhat's wrong with describing some classes first with a UML diagram?
- wiz21c 3y agoNothing wrong, but code is already formal enough that you don't need a formal visual language (UML is not just a bunch of diagrams, it's a formal language). So yeah, a bit of drawing might help to understand, a few ideas from UML might help, but it's not like it is super necessary. As said, the sequence diagram is a real plus because sequence information is not very well expressed by code, so that diagram has much added value. I personnaly find UML hard to use becaues if you want to communicate your ideas precisely, you have to know much of its formalism and most often, people who read your drawings don't master its intricacies, so communication quality is no good...
- throwaway290 3y ago> code is already formal enough that you don't need a formal visual language Code can be formal enough but in reality it is almost never formal enough. Many constraints can be expressed imperatively (eg. someone validates the number of related objects in the create view) and in unexpected places (across repositories and libraries and maybe not even in code but in some stored procedure). And then it is all in flux and can go away the moment you change your stack. I don't know if UML is perfectly flexible (maybe?) but its sure benefit is a source of truth that does not depend on your implementation.
- dragonwriter 3y agoThe fact that it doesn’t provide any benefit or make things particularly simpler than describing them in code and projecting them to UML if you need a visual diagram. Also, the fact that it is particularly counterproductive if I’m not coding in a pure class-based OOP language, since it presupposes that the solution is centered on class-based OOP. There a diagrams that are useful before coding, but most of them aren’t part of UML, which is a product of the simultaneous highwater of class-based-OOP-is-everything and pre-Agile industrial software development methodologies, and (except for some isolated bits) poorly fit to anything else.
- rewmie 3y ago> Starting with UML to describe a set of classes or - worse yet - an entire system is lunacy and a massive red flag. I don't think this is right or a well founded opinion. The whole point of any diagram language, including UML, is to provide the means to describe software projects in different views, including class diagrams but also component and system diagrams. What do you think is the whole point of a modeling language?
- dragonwriter 3y agoI think you are making the mistake of assuming that because something is an important motivation for a class of things, it must also be a good use for every instance of that class. Sometimes motivations are misguided, and sometimes instances aren’t well fit for major motivations of their broader class.
- rewmie 3y ago> (...) it must also be a good use for every instance of that class. You, and OP, failed to present a single argument supporting the thesis that modeling languages in general, and UML in particular, are "lunacy and a massive red flag." > Sometimes motivations are misguided (...) Not only did you failed to support anything in the original anti-diagram rant, now you also tried to support generalizations with hypothetical corner cases involving misuses, which is an absurd argument to make. So not only do you have zero substance for show with regards to the original anti-UML rant, you also resort to using vague, unsubstantiated strawmen. This is to be expected. Like many discussions involving technical aspects, generally detractors come from positions of opinionated ignorance.
- dragonwriter 3y ago> You, and OP, failed to present a single argument supporting the thesis that modeling languages in general, and UML in particular, are “lunacy and a massive red flag.” I failed to support that thesis because I never endorsed it. Pointing out a flaw in a counterargument is not endorsing the argument it is deployed against.
- 3y ago