Criteria for a Good Program

Good is a subjective criteria and denotes situation whereby a program can completely meet with all the user specifications and run without error under all given circumstances. Good programming is the practice of constructing and implementing quality programs within an acceptable time span. Once the program is written, they are used in their operating environment for a period which may span ten or more years .During this period of time, programs will be subject to any alternations or enhancements to reflect changing needs of users.


Unless the programs are well written , it will be difficult to alter or enhance the program at a later date. Following are the objectives that must be kept in mind while writing a program.


                             A program should produce output as per specification. It should conform to end user requirements i.e. the user must be satisfied with the output that is produced from the program. Here correctness is a very subjective term.


                         A program should function accurately for a long period of time. It must also function correctly over all range and combination of data.


                   A program must be developed in such a way that it can handle out of range data or exceptional data without crashing. That is to say that if a program finds some piece of data which is not being handled by the application then such data should be recognized and an error message should be flashed.

4)Execution Efficiency:

               A program should execute in small core memory and it should process data fast.

5)Ease of Use:

           A program should be user friendly i.e. supported by menu options, good user documentation and on-line help facility.


                 There should be a sensible program structure and use of standard language features so that it is easy to understand, make changes and enhance.


           A program should use standard features of an operating system, language compilers, and separate components dealing with data, peripherals and processing, so that the program can be executed on different machines. However, some minor changes may have to be made, which are essentially language dependent and cannot be avoided.

The above points must be considered while developing a program.