OOP and other things now and then

Approximate conversation at work the other day:
Yeah, I split this into separate files, removed this and made these classes to make it actually work.
Ok, but don't go too fancy with objects here.
Sure! I think it's the only place where I actually use inheritance!
Heh. I'd imagine how that would have looked back some 5 years ago. "What design patterns did you use here?" etc. Funny how things change.

I think I've got it by now - took me way too much time for such a trivial thing - there is no silver bullet. OOP or any other buzzword is just a means to do something; sometimes it fits, sometimes it does not. Regarding OOP, I highly recommend Execution in the Kingdom of Nouns essay - it's way exaggerated, but has the point. The best part:
advocating Object-Oriented Programming is like advocating Pants-Oriented Clothing
There is one thing about the codebase that we have at work that I love: it does not use any particular design/programming technique. A bit of OO, a bit of metaprogramming, a bit of plain C style, a bit of preprocessor macros, etc. I like to think that we're using the best of those worlds, of course :)

There was a quote in a book or some paper, something like this:

good programers know when to apply OO design, better programmers know when to reject it.

i would say, that truly amazing thing here, is no matter how you write your code - in the end code is only 20% of your success (almost citing one book on TDD)
Yeah, that's true. But that only confirms that how you write the code does not really matter. So just do it in the simplest way possible! :)
define 'simple' ;)
#define simple
By the way, there is a difference between simple and simplest way possible. Of course you always end up with complex stuff, but you can at least choose between complexity and complexity on steroids :)
Post a Comment

<< Home