UKOLN AHDS Software Code Development



About

This document gives high-level advice for people who develop software for use either internally within a project or for use externally as a project deliverable.

Background

Each computer programming language has its own coding conventions. However there are a number of general points that you can follow to ensure that your code is well organised and can be easily understood by others. These guidelines are not in any way mandatory but attempt to formalise code so that reading, reusing and maintaining code is easier. Most coding standards are arbitrary but adopting some level of consistency will help create better software.

The key point to remember is that good QA practice involves deciding on and recording a number of factors with your programming team before the onset of your project. Having such a record will allow you to be consistent.

Documentation

In order for programmers to use your software it is important that you include clear documentation. This documentation will take the form of internal and external documentation.

Naming Conventions

Naming conventions of files, procedures and variables etc. should be sensible and meaningful and agreed on before the projects starts. Use of capitalisation may vary in different programming languages but it is sensible to avoid names that differ only in case or look very similar. Also avoid names that conflict with standard library names.

Code

There are a number of key points to remember when writing your code:

Standards

Standards are "documented agreements containing technical specifications or other precise criteria to be used consistently as rules, guidelines, or definitions of characteristics, to ensure that materials, products, processes and services are fit for their purpose" (ISO 1997). The aim of international standards is to encapsulate most appropriate current practice. The International Organization for Standardization (ISO) [1] is the head of all national standardisation bodies. The most relevant ISO standard for software code development is ISO 9000-3: 1997 (QA for the development, supply, installation and maintenance of computer software). For other relevant standards also check the Institute of Electrical and Electronics Engineers [2] and the American National Standards Institute [3].

Project QA

At the start of development it may help to ask your team the following questions:

  1. Do you have local guidelines for writing code?
  2. Are your software staff aware of the conventions to be used?
  3. Do you have procedures in place for use when creating local software?

References

  1. The International Organization for Standardization (ISO)
    <http://www.iso.ch/>
  2. Institute of Electrical and Electronics Engineers (IEEE)
    <http://www.ieee.org/
  3. American National Standards Institute (ANSI)
    <http://www.ansi.org/

Further information on Software QA at Sticky Minds
<http://www.stickyminds.com/>