# Java Notes

# Iterative/Incremental Development

The generally accepted best practice is to develop your programs using an iterative, incremental process. This means develop in little steps, compiling and running after making each small step. These steps can be very small - even after adding just one statement you might want to compile and test the program again.

Highly recommended. This is the recommended technique for all programs, from very large to very small. It has several advantages over trying to write the program as one lump. It may sound that making these baby steps is only for beginners, but this isn't so -- it is the technique used and recommended by many professional programmers.

## Advantages of iterative development

- You always have a running version of the program, eg, if you run out of time, you can deliver the last iteration, which may not have all functionality, but it does something. This is usually worth more to your instructor than a program which doesn't compile or run.
- Errors are easier to find because they are most likely in that last little bit of code that you added.
- It's psychologically more satisfying to get positive feedback on your work, ie, a running program.
- Initial ideas about the program change as development proceeds. It's easier to make adjustments to the design using the iterative process than after everything has been written.

## Don't be tempted to avoid design

Iterative programming can tempt you to start coding before you have a reasonably clear idea of what you want to do. Think about the problem a little bit before you start. The design phase becomes more important as programs become larger.