Re: OOP/OOD Philosophy



On 5 Jul 2005 17:53:24 -0700, "krasicki" <Krasicki@xxxxxxxxx> wrote:

>Robert C. Martin wrote:
>> On Mon, 4 Jul 2005 13:10:22 -0700, "Nick Malik [Microsoft]"
>> <nickmalik@xxxxxxxxxxxxxxxxxx> wrote:
>>
>> >Note: I did not say that "Agile" is incompatible with "design." I believe
>> >it is incompatible with "Big Design."
>>
>> Not quite. Agile methods involve much more design than "Big Design"
>> methods. However, the design is done on a different schedule. Design
>> is taking place all the way through the project, at every iteration.
>> This design is no less rigorous than a big design up front. Indeed,
>> it is *more* rigorous, because each design decisions is documented by
>> a series of unit tests and acceptance tests that must be written
>> *before* the code that makes them pass.
>
>We know, Bob, we know.

Courteous debate reflects better on the participants than
condescension. Are you sure that you are in a position to take a
superior tone?

>We've heard this tune many times. The OP asked
>about OOD.

Yes, and YOU changed the topic to XP. You can expect me to respond
whenever you do that.

>This is a perfect example of what it isn't.

We disagree, and that's fine. Though I think it would be better of
you expressed your opinions as opinions, instead of as hard facts.

>What you are describing is bottom up, seat-of-the-pants programming
>with perfunctory salutes to an unwitting user all of whom pretend they
>have immunity from reality. And as long as the inmates are in charge
>they're very happy subscribing to this stuff. *You mean, NO BOSSES?*

No, no, and no. This is not seat-of-the-pants, it is not an
egalitarian "no-bosses" scheme, and it is strongly tied to reality.
Nor is it bottom up. Agile methods start with requirements and work
down.

You are making claims of fact without sure knowledge of what you are
talking about. You are strongly misrepresenting what XP and Agile
are.

>Look, OOD is about designing theoretical systems that may get
>implemented based on analysis, testing, cost, and security factors.
>That's rigor!

That's a strange definition of rigor. Rigor means stiff, disciplined,
inflexible. Now consider just the TDD rules of XP. No production
code can be written until there is a failing acceptance test, and
failing unit tests. That's stiff, disciplined, and inflexible.
*That's rigor!* And that's just one aspect of Agile/XP.

>Rube Goldberg software development was not invented by XP but it is
>given certification status thanks to XP.

Why do you insist on mischaracterization without evidence? XP does
not create Rube Goldberg structures. Take a look at the source code
of FitNesse (www.fitnesse.org) if you'd like to see the kind of
architecture and code that was created using XP.

Really, you need to do some actual research before you spout your
incorrect opinions as facts.

-----
Robert C. Martin (Uncle Bob) | email: unclebob@xxxxxxxxxxxxxxxx
Object Mentor Inc. | blog: www.butunclebob.com
The Agile Transition Experts | web: www.objectmentor.com
800-338-6716


"The aim of science is not to open the door to infinite wisdom,
but to set a limit to infinite error."
-- Bertolt Brecht, Life of Galileo
.



Relevant Pages

  • Re: Tracing the execution of scripts?
    ... When you do further development, write the tests first, then ... Writing unit tests *along with* the functional code will ... result in a design that is loosely coupled, ... I can write web applications in PHP until the ...
    (comp.lang.python)
  • Re: OO-Inquisition
    ... all issues in software coding. ... "refactoring" the database, I mean by changing the database and ... There simply no way to underestimate the power of unit tests. ... design, same as backtracking engine for gaming appz or expert system. ...
    (comp.object)
  • Re: Python from Wise Guys Viewpoint
    ... >> with retrofitting unit tests to OO systems, ... >> designed for it from scratch, objects will have quite a lot of ... This is obviously bad design, ...
    (comp.lang.lisp)
  • Re: The design is the code?
    ... >>I dont use unit tests either. ... >>i've checked that the design implements the spec and that the spec ... >>the code does what the design asks for. ... With a large code base, ...
    (comp.object)
  • Issue 3 of RISCOScode is now available to read on-line
    ... Issue 3 of RISCOScode is now available to read on-line. ... Martin Hansen's webzine this time features: ... In his NEWS report Martin explains what the key design ...
    (comp.sys.acorn.announce)