this post was submitted on 18 Jul 2024
37 points (97.4% liked)

Programming

17319 readers
147 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

With this post I've taken a bit more of a practical turn compared to previous Post-Architecture posts: It's more aimed at providing guidance to keep (early) architecture as simple as possible. Let me know what you think!

top 3 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 3 months ago (1 children)

I've always heard of your "post-architecture" referred to as "evolutionary design".

[–] [email protected] 2 points 3 months ago (1 children)

Sure! The other day someone called it emergent architecture. I guess it goes by multiple names :)

[–] [email protected] 4 points 3 months ago

It goes really well with YAGNI. Also DRY without YAGNI is a recipe for premature over-architecting.

This is also one of the main benefits of TDD. There was a really good video that I can't find again of a demonstration of how TDD leads you to different solutions than you thought you use when you started. Because you code exclusively for one single requirement at a time, adding or changing just enough code to meet each new requirement without breaking the earlier tests. The design then evolves.