Coding Methodologies

Coding Styles and Development Environments often work together to produce better code. One of the keys is to match your development environment to help you be as productive as you can be.

Coding Styles

There are several styles for coding styles. The industry has changed over the years. Engineers have tried various styles and have found aspects that are beneficial and aspects that are not. The bottom line is to produce quality code in a quick amount of time. The styles include:

  1. Seat of your pants programming – This was the initial style with which most people start. It is easy, it is fun. And for short programs, especially if they are similar to what you have done before, very efficient. The downfall is on very large projects.
  2. Code Reviews and Debugging – Since problems did occur in the previous method, code reviews were added for large FORTRAN, COBOL, and LISP projects. This helped quite a bit in cutting down the “dumb” errors. There are some common errors and some more obscure errors that can be avoided if you are aware of them, code carefully. Looking for problems and exploring “corner-cases” is an important part of the initial code design and code reviews.
  3. Structured Analysis and Design – Developed by people like Yourdon, this imposed a rigorous method to designing and implementing code. It added time to the design part of the schedule, but it also made the code much more solid, bug free.
  4. Agile – This is a modern development to include the speed of the first method while including some of the reviews of the later methods. The design, code, and tests for the code are all developed at the same time. The size is limited for each developed module, so reviews are a reasonable length of time. This is the accepted method of programming for many projects. The developers often have a goal to keep modules under 500 lines of code to keep reviews shorter and cut down on the defect rates.
  5. SCRUM Methodology – SCRUM is a part of the Agile movement, but the more I read about it, the more I like. It recognized that the overhead of many of the formal methodologies were heavy on rules and regulations and actually slowed down the code design and development. But engineers also realized that the free flow of the original implementation of the Agile Methodology could lead to hidden problems due to the lack of rules. In 2001, seventeen pioneers of methods similar to Agile gathered at the Snowbird Ski Resort in Utah to write the Agile Manifesto. This is the basis for the Scrum Methodology. The best place to learn more is at the SCRUM Methodology website. I will be going to a SCRUM Master course the end of August to learn more. The class is being taught by Mike Cohn, founder of Mountain Goat Software