|
Posted by lawrence k on 11/09/07 03:58
On Nov 8, 8:38 am, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> lawrence k wrote:
> > The downside of OOP is that when a new programmer comes in, they've a
> > harder time figuring out what is going on. Everything is masked and
> > abstracted. The upside of plain, procedural code is that a new
> > programmer can usually pick it up faster. This may not be an issue for
> > you, but for me, being able to hand a project off to other programmers
> > has been one of my top concerns, so I've come to favor plain code over
> > OOP.
>
> Properly documented, OOP is *much easier* for a new programmer, because
> he/she doesn't have to worry about the internals. The interface is all
> that's needed.
>
> For instance - do you worry about the internal format of a floating
> point number? Nope - it's abstracted for you. But you know the
> interface - and can use them.
A floating point number in PHP? Last time I checked PHP was written in
plain C. It is not written OO anything. If you're trying to say that
complicated things can be made simple with intelligent masking, then I
agree with you. But that doesn't have anything to do with OO, does
it?
The style one adopts should be well suited to the kinds of clients one
acquires. I've mostly been working with start-ups where the projects
start, stop, re-focus, lurch forward in a panic, are canceled, then
revived, then re-purposed, then declared "ready to launch" about two
months before I think they are ready to launch. Personally, I never
get the time to debug any masking code I might write. Buggy code
hidden under a mask is worse than plain code. The mask simply makes
debugging harder.
If you work on projects that are well-planned and have budgets that
match the ambition of the project, then I'd say it is best to build
the code up in layers, with each layer resting on the layer below, and
each layer well tested before the next higher level is built. And OOP
is certainly the preferred way to do for such projects.
Navigation:
[Reply to this message]
|