Reading a few threads here on D.I.C. about weaknesses when coding and how we plan our code I have realized that I'm actually worse at this than I thought. At times I try to gather information and plan my program but end up chucking it all and just start coding at one end. Why? Because I feel that otherwise I'm doing the same thing twice. I mean like why draw an UML representation of a class when I can just as well code it?
At the same time I strongly feel that this way of working is no good once the projects become a bit larger. A book on programming I read a few years ago stated that "Complexity isn't a result of size but of interactions." which I find to be true - if you plan, which I don't. So at times I find myself lost in my own code. There are classes everywhere and I can't remember them all, what they do, if they are ready or not and/or how they interact.
So, what I need is some kind of method to give me a roadmap of where I'm going that will also help me keep track of what I've done and why I did it.
This brings me back to the "why draw UML when I can code it?". I've been looking in to UML, CRC cards and some obscure analysis and design methods and tools. I find them bloated, complex and/or too time consuming. I want something quick and dirty that still works (isn't that a holy grail?).
I am trying to figure out some simplified combination of UML use cases, CRC cards and drawings of screens.
So, I'm wondering if you have insights to share, maybe even methods or concepts that you use that work well for keeping smallish projects under control.
This post has been edited by jens: 12 April 2010 - 07:02 AM