2 ms·
I don't think this is a great analogy. While it can be true I'm not sure it even usually is. A lot of complexity in a codebase comes from the fact that the end
by godelski 2y ago
I don't think this is a great analogy. While it can be true I'm not sure it even usually is. A lot of complexity in a codebase comes from the fact that the end goal isn't specified from the start. In fact, it really can't be. The code evolves along the way, goals change, the hardware changes, dependencies change, and patches turn into solutions. This isn't to say that everything along the way didn't have a good reason, in fact it most certainly did! But a good codebase is also constantly rewritten. There should never be shame in this because the goals changed. There are unknown unknowns that can't be avoided. But you need to constantly profile, fix, and rewrite. There is no end as long as time marches on.