Just started reading Refactoring to Patterns. Starts off with a good reminder that YAGNI.
When you make your code more flexible or sophisticated than it needs to be, you over-engineer it. Some programmers do this because they believe they know their system’s future requirements. They reason that it’s best to make a design more flexible or sophisticated today, so it can accommodate the needs of tomorrow. That sounds reasonable – if you happen to be psychic.
Joshua Kerievsky, Refactoring to Patterns p.1
Look at the code you’ve written recently. Were you pretending you’re a psychic?
I'm far too lazy to plan for a future that may never come.
ReplyDeleteIs there value in risk management? Is insurance a bad idea? Is there a difference between foresight and claims to psychic powers? When we speak of making a system "more flexible than it needs to be", what do we mean?
ReplyDeleteWe often guess at the future. "One day we'll need that" or "one day somebody will ask for that". Usually that day never comes AND "they" ask for something different than what you thought which ends up being harder to deliver with the "flexibility" that you built in.
ReplyDeleteThe point being if you build it as simply as possible, you leave future possibility open to whatever comes instead of trying to guess the future.
aszxfdc
ReplyDeleteThe team is expensive, the best agency and more resources would mean a better engagement, but they still developed a great product.
ReplyDeletebest it companies websites