in reply to Algorithm design
I suspect everyone will have a little different response here, and I look forward to them myself. I enjoyed your own comments as well.
In my job, some coding I am asked to do is maintanence, so in those cases, I try to talk to one or more of the users experiencing the difficulty or requesting the feature to try to get a feel for what is needed/wanted, then with a whiteboard or pen/pencil and paper, start to get an idea of what should happen with sample data, then begin to flesh out the necessary code snippets, modifying a copy of the code in question to provide the desired result. Test, modify, test, modify, test, ... until finally I can show it to the interested persons for feedback, then let them test it, then begin using it.
For new programs, I do a lot of the same-get feedback on what is desired, then try to lay out sample data so I know what the expected output should be, sometimes so I can design my data structures, then begin to code (sometimes in pseudocode or snippets first), testing on sample data, until I have something I can present for feedback and usability testing (big words meaning "does it work" and "are the results usable"), then actual production use.
Admittedly, though, sometimes something breaks and I have a very short timeframe in which to attempt a fix, in which case while I may try to do this routine, sometimes I miss something, which can make for a very flustrating and rough week or longer. (Which is why I'm glad this one is over!)
|
---|