1. Work out what order the program runs in, the stages that allows it to do what its meant to do and plan beforehand. That way, you just have to substitute those words on the plan for your procedures and your done, no trying to work out what your code does the next day as well as trying to remember how its slots together.
2. Work out how threads work in parallel and how the timings work - its called program flow and its crucial, it'd be like having a production line missing steps and doing some steps out of order: try starting your car before turning the key - hard isn't it? Its the same for your CPU, that error might have some truth to it
3. Figure out what talks to what, be it threads, programs, procedures & function or anything else that does I/O (find me something in a computer that doesn't use some from of I/O and I'll eat my printed flow diagram). Write out protocols and formats before hand, draw diagrams of what functions feed into what procedures and etc.
Do the above and you'll find your coding so much easier - you can just focus on what your procedure/function/snippet does with faith it'll fit in. No worries about memorizing protocols and flow diagrams leaves your brains RAM uncluttered for best results
Its not the best 101 and hey, it may need a 102 - but its just that much closer to the goal. Now, form the feedback I can recommend some stuff:
Paul Nicholls suggested a great program (the one I used for the earlier spider diagram) can be found here:
http://logicnet.dk/DiagramDesigner/ I've tested its windows msi version under wine - works a treat. Although compiz can be a pain managing the colour dialog box
Lifepower recommended a lot of articles pertaining to approaches to this topic for those that want/need more detail than this 10 minute 101, the post reads:
Depending on the project type, there are different Software Development Philosophies. If project is done in smaller teams, one of Agile Development techniques can be used. Some common architectural solutions are described as Design Patterns. There is also a book with the same name.
There are several code refactoring techniques that should be used to improve the overall quality of the code. In this topic, take a look at Quality Attributes and Non-functional Attributes that should be taken into account when developing the project.
There are several code refactoring techniques that should be used to improve the overall quality of the code. In this topic, take a look at Quality Attributes and Non-functional Attributes that should be taken into account when developing the project.
vBulletin Message