I Hate UML

preview_player
Показать описание
Recorded live on twitch, GET IN

MY MAIN YT CHANNEL: Has well edited engineering videos

Discord

Рекомендации по теме
Комментарии
Автор

Why draw any diagrams when creating JDSL classes is so much faster? Tom is a genius.

josemaker
Автор

I absolutely agree. I thought it was so unbelievably stupid, when my teachers tried telling me that I don't do my job correctly because I don't draw diagrams before starting to code.

NiklasZiermann
Автор

I remember thinking UML was the future and I even wrote tools to autogenerate UML. Eventually, I realized that it was useless and I stopped. Absolutely no one looked at the UML diagrams.

TOracle
Автор

I remember a time when the greatest dream of the future of software was a world where most or all of your code was generated from your UML diagrams. A world where Grady Booch would softly guide your trembling, virgin hand along every box and arrow and with the stench of Java on his drunken breath, whisper sweetly the tales of future UML dominance.

ryanleemartin
Автор

Sometimes abstract charts are required to navigate the entirely unnecessary abstractions even the most conseptually simple task requires in sufficiently cleanly coded programs. They can also be extremely useful when cleaning up simple tasks into more elegant design patterns, as writing such complex hierarchy without any preplanning can be a daunting task, especially if ugly, simple answers are distractingly obvious.

For me at least, looking at a simple hello world program, it is extremely hard to design the perfect world-factory pattern without taking a step back, getting some latte and strat sketching it out on a clearboard.

catcatcatcatcatcatcatcatcatca
Автор

I definitely agree, but I do think there is a use for them. If you design and build a decently complex system, a uml can help onboard new people onto the project by giving a quick overview. Although that does mean you need to keep updating it which might not be worth it.

mathijsfrank
Автор

UML is about reading the project, not writing.

medilies
Автор

In my second semester of CS we had to make UML diagrams for some of our Java programs, and it was really just so tedious and time consuming. When the UML was provided for us and we were told to implement whatever it was, I did find it significantly faster than reading through all the instructions for an assignment. Except when the diagrams and the instructions disagreed with each other.

I definitely did not enjoy it.

Spirrwell
Автор

I remember when UML was supposed to be used by business users to defined their own needs and have programs being automatically generated from these diagrams without the need for programmers. Back in the days, a lot of developers thought they where going to lose their jobs... how the times have changed (or not).

maxpower
Автор

The only UML-adjacent thing I will defend with my life is database entity diagrams. The dbs I work on are so complicated that the chart/picture is legit useful to figure out what’s actually related (especially because the names of tables and columns are complete gibberish). A good 40-50% of my daily work is reading table definitions to figure out what’s related to what because there are no ERDs in the documentation for our dbs (not our fault, our vender controls db structure and provides documentation of what they want to let us see, and there’s not enough of us to document it ourselves fully).

I got sidetracked ranting. Oops😅

leetaeryeo
Автор

This reminds me... There's this NDC talk by Dylan Beattie about Architecture and he also mentions the problem about these stuff. The segment regarding "the problem with diagrams" starts at 26:50 of the video.

In that segment he mentions how diagrams work with physical objects, but not as good with software. He mentions how people can easily visualize physical objects using diagrams, but it is hard to visualize software using the same approach. The examples he provided are excellent as well.

astral
Автор

I work with a staff eng who insist that everything we do needs a uml diagram made first

mxc_clips
Автор

I always do UML entity relationship for my database, I find it extremely useful tbh

TheKennyWorld
Автор

To be fair, no one forces you to first create a well structured diagram before doing the code. A good understanding about the structure that you want to achieve is, in most cases, enough to start coding.

However, when it comes to documenting your work or collaborating with others, visual documentation is always appreciated and can save so much time. Note that I didn't even mention UML, it can be whatever that help people understand your design, including yourself.

paoloose
Автор

haven't drawn a UML diagram since 2nd year of Bachelor's degree

shakibrahman
Автор

Hey, I just finished your Data Structures and Algorithms course on FrontEnd Masters. I wanted to take a moment to express my gratitude. I'm from Brazil and I have 8 years of experience in the (local) industry, but there were many things in DSA that I didn't know. Thank you very much for your insightful teachings, especially the wrapping up class.

CassioLeodegario
Автор

I had a similar feeling with UI mockups.

...Ok, but if I want to modify this it is going to be a real pain. Is there a markup language for writing a UI mock-up... wait, why don't I just write the mock up in the markup language that I'm writing the UI in. then I won't even need to write the UI because I already did it.

maninalift
Автор

The idea behind UML is that the one who is using it hardly programs anything . Its the lead designer / senior dev of your team who is using it. Yes this can go very wrong and you need to redo or change things multiply times especially when its the first time this person doing it for this specific type of software. Usually it used together with a big IDE like VS Studio or Eclipse because after your are finished with the UML editor you have your class and your functions . In the next step the senior dev write comments for all function what they return and what they take as parameters . This will be send either to the rest of the team or oversee or to freelancer. At least this is the idea of UML and industrial standardized programming

Fiercesoulking
Автор

Diagrams are more than squares reprensenting classes, i barely use them for anything that is code-related. Forget about class diagrams and have a look on these ones:

- Deployment diagram
-> is it running on a physical (host) machine, virtual machine, pod, container
-> what network interfaces/adapters (NAT, Bridged, Host-only) does it use
-> what programs open what sockets for which ip:port
- State diagram (basically state machines)
- Sequence diagram
- Entity Relationship (for databases)
- Network Topologies
- Business Process Model and Notation

motyakskellington
Автор

UML is best when used to show flow between large components rather than prewrite a program. It served me very well when laying out the internals of some business logic so everyone could see how our system actually works outside their department. When everyone curates a small piece of the workflow there are a lot of little details that get lost otherwise. And trust me you don't wand to sift through 40 years of monolithic COBOL and IBM RPG to see what's going on. UML has a place. Use something fast and flexible like graphviz/dot if you can, drawing and positioning are the most taxing aspects, leave those to the computer if possible.

PixelOutlaw