I'd like to enter an official objection to the OOP review board against the principle that objects be open to extension and closed for modification.
This may be great for Object-Oriented Gurus who feel they have mastered "architecting" OOP. For those of us learning as we go, who are still under pressure to produce production-ready products, and want to leverage what we know, but what we know may contain glaring holes, the process is a lot more grueling: refactor, refactor, refactor seems to be the rule.
Every time, if you're lucky enough, you learn something new, and hopefully do not repeat the same mistakes next time, but no amount of pedagogy is going to help you predict problems and proactively avoid them--at least not me: I have to hit my head and fall in the hole and turn over the can of gas near the open flame an estimated 300 times before I learn my lesson. That's anecdotal, of course, but 300 times seems like a really good ballpark. But I guess that's a testament to learning, after all--it is not a very clean process, you have to get your hands dirty and make some really awful mistakes; otherwise, you end being too precious to take down from the shelf...
Maybe we can argue that I just don't have the OOP gene, or that my OOP gene is somehow deficient, and I should leave the cooking to those who know better, but until I find a new shiny object to steal my attention, my days are a comic tragedy of ponder, ponder, ponder, refactor, refactor, refactor, implement, implement, implement, run up against catastrophic design flaws, rinse, repeat.
No comments:
Post a Comment