Re: OO Design induces an existential crisis



I had similar problems. What helped me was doing *less* design upfront,
allowing me to find (and fix) my errors much earlier through feedback of
the code. Yes, that means *a lot of* refactoring. With other words,
refactoring isn't a "future savings" for me, but how I come up with a good
design to begin with. In my experience, that's quite effective.

Have you read "Agile Software Development - Principles, Patterns and
Practices" by Robert C. Martin?

Regards, Ilja

> I have been programming (mostly procedural stuff) for almost 15
> years. I enjoy programming, take it seriously, and by general
> estimation I am quite good at what I do.
>
> Of these 15 years, I have spent about 7 years trying to train myself
> to do OO programming. I have no problem with *using* pre-existing
> classes, and even extending them. Similarly, I am comfortable with
> the *principles* of OO design. I have studied the GoF book carefully,
> as well as other less famous books on OO design.
>
> Still, when it comes to OO *design* I absolutely *suck*. I takes
> me so long to design anything that I often abandon projects for
> lack of time or loss of interest. Even when I complete a project
> involving OO design, the outcome is puny and incommesurate with
> the enormous effort invested. I often wonder whether the promise
> of future time savings (from ease of maintenance and refactoring)
> are paid for many times over by the *huge* amount of time and sweat
> that I have to put into my design phase.
>
> I am so bad at this that I am seriously wondering what on earth
> I'm doing in this line of work. As OO programming becomes more
> widespread I find myself more and more in the bizarre situation of
> being in a profession for which I have no aptitude whatsoever.
> I'm like the proverbial silent film actor witnessing the birth of
> the talkies. I seriously wonder if it's time for me to start
> thinking of a different line of work...
>
> My question is: how normal is this? Is OO design as horribly
> difficult as I find it? Or are there people who pick it up as
> easily as I picked up C, say? (I was up-to-speed with C in a few
> weeks; similarly for every other computer language I have taught
> myself.) Is there a turning point when one finally "gets" OO
> design? Should I consider some form of apprenticeship or internship
> to learn from experts? (I've exhausted the book route, and I doubt
> that classes will help, since I think my problem is not one of
> understanding principles, but rather of applying them to real-world
> programming tasks.)
>
> I'd very much appreciate your thoughts on this.
>
> kj


.



Relevant Pages

  • Re: SproutMethod.pdf
    ... People are refactoring their asses into tiny little pieces, ... > degrees is in computer science, and the other is in mathematics. ... programming very troubling indeed. ... also be seen and quantified in the design disaster of many OO ...
    (comp.object)
  • Re: mfc pitfalls
    ... In most MFC apps, you are writing code in that kind ... virtual methods usually work better than callbacks for most ... no syntax in the design for function pointers. ... programming in OO environment requires new ...
    (microsoft.public.vc.mfc)
  • Re: mfc pitfalls
    ... I see no callbacks in MFC. ... but I see no callbacks. ... premises of one of them as a basis of design or implementation in one of the others. ... programming in OO environment requires new ...
    (microsoft.public.vc.mfc)
  • Re: SENIOR A.I. SOFTWARE ENGINEER POSITION - $90-120K - Dallas
    ... May design and build prototype applications. ... Expert C and C++ programming experience. ... Java / J2EE Architecture ... Understands standard software modeling techniques ...
    (comp.ai.philosophy)
  • Re: mfc pitfalls
    ... There are design criteria, ... Data flow (flowcharts) is one of the UML diagrams ... programming in OO environment requires new ...
    (microsoft.public.vc.mfc)