3 ms·
Even if the code has been absolutely perfect at the time of writing, growth of the codebase, and changing requirements could make it bad. e.g. if you have 10 i
by pornel 2y ago
Even if the code has been absolutely perfect at the time of writing, growth of the codebase, and changing requirements could make it bad.
e.g. if you have 10 items to store, then a simple file may be a pragmatic choice. When it grows to 10,000 items you may need a database. But if you started with a database for just 10 items, people would complain it's overengineered.
If you have 2 classes, an if/else can do, but at 20 you need some Factory pattern, which would be an architecture astronautics if done from the start.
And when you try to anticipate such growth, you'll create overcomplicated code whenever you guess wrong.
A continuously developed project will systematically keep outgrowing itself.
- NBJack 2y agoOr just that errant refactoring automation that moved a proverbial (or literal) bit out of place. It's good to learn from our mistakes. But if there's one thing I have learned from working across teams and orgs, it is that basically everyone works with imperfect information. And oftentimes, you just have to make do, write the code, and try to make room to course correct in the future.