Wednesday, November 28, 2012

If you happen to be a psychic: Quote of the Week

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?


  1. I'm far too lazy to plan for a future that may never come.

  2. Is 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?

  3. We 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.

    The 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.

  4. The team is expensive, the best agency and more resources would mean a better engagement, but they still developed a great product.
    best it companies websites


Original design by andrastudio
Blogger port by Blogger Templates