On Friday 25 June 2010 11:01:34 Senthil Kumaran wrote:
> > I am not talking of ui design - I am talking about program design. I do
> > not  know what the technical word for it is but what I mean is that when
> > a program has to do something one has to sketch out the data structures
> > and functions that are needed to get the thing done with the least
> > possible effort.
> 
> This is an interesting question. Here are my thoughts on it.
> 
> - If you can identify the design pattern that your program might fall
>   into, it would be best. Most often by reading and modelling after
>   the existing ones or using libraries we tend to use the design
>   patterns. So adopting the pattern might be a second or a later step.
> 
> - Write the Problem Definition in English/Native language.
> 
> - Write the Answer in English/Native language.If the Answer is more
>   than one step. Write down in to distinct points. If there are any
>   interactions, note it down.
> 
> - Give function names for your answers and draw the connection. While
>   using python, it is not necessary to settle on the parameters in
>   the first shot, you come back to it later.
> 
> - Make the first small program which does something and then improve
>   it to do something more.
> 
> You can do it all in any editor or in piece of paper.
> 

I must confess that my workflow at present is like this:

1. take a small piece of the problem
2. think about it - play games, go for walks and do anything to postpone 
starting work on it.
3. write comments on the steps to solve the piece
4. fill in the code and get it to work
5. keep testing it and fixing
6. go to the next piece and repeat the above (and make sure it works with the 
first piece)
7. modify or rewrite the first piece to fit with the second
and so on with small additions as we go on.

for one particular very complicated program, I modelled the whole workflow in 
dia - and found that the code worked perfectly on the first try. But I found 
dia a bit cumbersome, so I am looking for an alternative. I tried freemind, 
but that is good for talks, articles etc, does not really fit for programming.
-- 
Regards
Kenneth Gonsalves
Senior Associate
NRC-FOSS at AU-KBC
_______________________________________________
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers

Reply via email to