At the present time, it is almost unthinkable not to use some form of program skeletons (objects/classes) as a starting point for programming. Unless it happens to be a single highly customized program for a personal computer, and the programmer is working alone with no standards, and no prior program "pattern" examples exist, then it may be safe to say that a skeleton cannot be obtained or does not need to be developed. But in almost all other situations, creating a cloneable skeleton is recommended for these reasons:
Listed below are a few of the minimum skeletons (objects/classes) which should be developed:
Programming is a personal thing. Probably no other activity so closely reflects the way a person assimilates, organizes, and expresses procedural thinking. Creating a program in one's mind and then transferring the "image" to paper, is a highly unique and individualized process. This is one reason programmers are sometimes uncomfortable with code reviews or walk-thrus. If the review is not carefully handled, it can turn into a critique of a person's thinking process. Undoubtedly, that is a situation no one would particularly enjoy.
Even after recognizing these sensitivities, one approach toward "programming from scratch" seems to be quite superior in both its simplicity and speed. That technique is bottom up programming! It can be even more effective if a program skeleton is utilized as a starting point. Listed below are the steps which are typically followed in this programming approach:
First, create the "utility" paragraphs or modules:
Next, create the "processing" paragraphs or modules:
Last create all required "processing" paragraphs or modules.
These should consist of unique logic, decision paths, calculations, and calls to the lower level "utility" paragraphs or modules.