Program Design/Build Steps

Table Of Contents

Introduction

One of the problems that new programmers have is that they start coding before they are ready. This document has suggestions on how the design/build process should proceed. It is broken down into several areas.

Think First

“If I had an hour to solve a problem, I'd spend 55 minutes thinking about the problem and 5 minutes thinking about solutions.” Albert Einstein

Make sure you understand the problem. Read up on the technologies your project will be using; Especially any you are not familiar with.

Do research and searches. Find examples of solutions to problems you might be able to use. (How much modification does the found code/solution need?) Don't reinvent the wheel if you don't need to. There is a lot of code out there.

Ask questions:

Design on Paper First

With a pencil and paper, sketch your project. This will help you understand and define the structure of your code/program/project.

Prototype

Create small programs to demonstrate (to yourself) new technologies, new techniques, etc. If they are written "right" part of or all of the prototype code can be incorporated into your project.

Prototype code will also help you find problems and dead ends before they are incorporated into your project.

Prototype code may also help you find a "better" way than the one you were going use on the project.

Command Line

Develop command line interface(s) to drive the prototype programs and code. For an example click HERE .

If you are developing a GUI based program, the callback/event code can be tested without the GUI.

Code snippets

Code snippets are code that:

As your library of code snippets grows, it is important to document what it is, where it is, and how it works so you can find it next time.

Small (and sometimes large) programs can be put together like LEGOs with little or no changes. (cut and paste)

For an example of code snippets, look at some of the functions in the test/demo code .

Miscellaneous

You don't need to be an expert, you just need to know enough to "get er done".

Expertise comes with study and practice, practice, practice, ...