Гулял по сетке наткнулся на этот текст:

.............
The other thing is write clear specifications as you go - as you develop the program
you will get sudden flashes of insight "ah ha - That's what it should do" - if you are on
the right track carry on. If not throw away ALL your code and start again.

Oh and listen to your subconscious - if you get the " this is not right but I don't know why "
feeling - stop - conversely if you get the " I know this is right " feeling don't stop, just
turn off your brain and type the code in.

There is a mis-conception - the best programs "write themselves" so they need no design
they have always been and they will always be - you just have to see them and write them down.
At first you grope blindly and then you see them.

(This is the Platonic view of programming - that programs have a priori existence,
we don't invent them, they have always been, we perceive them and write them down

<this is the reason why two independent programmers when given a problem to solve
often produce identical (to within renaming of parts) programs - since there is
only one solution - the correct solution>


/Joe