Development
Avoiding code spaghetti by making ravioli
Mikael Brevik
Ølhallen
How do you ensure structure as your codebase grows? When starting a new codebase, you can code away without a care in the world. Suddenly, you find yourself slowing down, as it becomes hard to understand the code you’ve written. All modules seem to blend into each other like spaghetti. One change in a module causes 15 changes in another. Errors accumulate, and they are hard to trace. You no longer feel confident but unsure and paranoid. It’s time for ravioli.
Over the years, I've seen numerous codebases and been in many different teams. I've found that, no matter the framework or language, most teams struggle with the same problems: structuring our code and ensuring the codebase remains structured when requirements change. We will dive into different architectural strategies for modern rich web applications, including bottom-up domain typing, structuring clean modules optimised for deletion, isolating side effects, ensuring function and module purity, code composability, and data injection for testability. We’ll talk not just how, but why.
We can now look forward to any new requirements because we’ll be ready!
Enthusiastic developer interested in programming languages and with an everlasting love of JavaScript. Organizer of BartJS Meetup in Trondheim, host of BartJS Podcast, Kortslutning and more. Trying to make the industry better as a Chief Technology Officer in Variant.
Mikael Brevik