• jimmux@programming.dev
    link
    fedilink
    arrow-up
    4
    ·
    9 hours ago

    I’m still waiting for the day I see UML in a professional context. My undergrad teachers were all about it.

    Similarly, I don’t design software using design patterns, and I’ve had to discourage juniors from forcing them into projects where they don’t add any value. But that’s not to say design patterns aren’t useful. They do exactly what you say, allowing your brain to recognise a pattern so you can remember or communicate it without having to go into details. Most of the time it won’t be an exact fit for the ideal pattern implementation, but it’s still easier to remember the variation.

    I wish they were taught more as communication and cognitive tools than silver bullets for good software design.

    In the real world there aren’t even that many patterns. On a very large project you’re likely to see the same patterns repeated throughout the system, because a good architecture doesn’t add variation and complexity unless there’s a lot of value to gain. You learn the default way, and then the diffs.