• 8 Posts
  • 389 Comments
Joined 4 years ago
cake
Cake day: May 31st, 2020

help-circle
  • I have actually seen it in an XML file in the wild. Never quite understood why they did it. Anything they encoded into there, they could have just added a node for.
    But it was an XML format that was widely used in a big company, so presumably somewhere someone wrote a shitty XML parser that can’t deal with additional nodes. Or they were just scared of touching the existing structure, I don’t know.


  • The thing is, it was never really intended as a storage format for plain data. It’s a markup language, so you’re supposed to use it for describing complex documents, like it’s used in HTML for example. It was just readily available as a library in many programming languages when not much else was, so it got abused for data storage a lot.






  • For OOP languages, you can definitely get IDE plugins, which create UML from code.

    Personally, I’ve never found them useful, though, partially because our code was never OOP enough, e.g. we were using the actor pattern, or had important modules with functions, or had lots of small classes for handing data around etc…

    But also because it just makes for bad architecture diagrams.
    It has no sense of what’s important and what should be abstracted away. Or how to structure the diagram to make it readable, e.g. REST API at the top, database at the bottom.

    What I also really don’t like about generated architecture diagrams in general (even when the contents are specified via e.g. PlantUML), is that things jump around every time you make a structural change. This means people looking at the diagram have no chance of learning what it looks like, so they can spot changes or know where to look for what they’re interested in.




  • Yeah, I find the similarity most striking with LibreOffice Draw vs. LibreOffice Writer. It very much feels like Draw is just a superset of the features of Writer.

    There is certainly some differences, though, e.g. text doesn’t automatically overflow onto new pages, text boxes don’t automatically increase in size, things like that.
    Everything is a lot more static, which is great for layout, and less great, if you just need to type out some text.