Lably
Skip to content

Coding best practices

Informal guidelines used by software developers

  • 12 min read
  • 4 chapters

Related on Lably

Through Computer programming, Software and Efficiency

In the ninety–ninety rule, Tom Cargill explains why programming projects often run late: "The first 90% of the code takes the first 90% of the development time. The last 10% takes another 90% of the time." Any guidance which can redress this lack of foresight is worth considering.

The size of a project or program has a significant effect on error rates, programmer productivity, and the amount of management needed.

Software quality

As listed below, there are many attributes associated with good software. Some of these can be mutually contradictory (e.g. being very fast versus performing extensive error checking), and different customers and participants may have different priorities. Weinberg provides an example of how different goals can have a dramatic effect on both effort required and efficiency. Furthermore, he notes that programmers will generally aim to achieve any explicit goals which may be set, probably at the expense of any other quality attributes.

Sommerville has identified four generalized attributes which are not concerned with what a program does, but how well the program does it: Maintainability, dependability, efficiency and usability.

Weinberg has identified four targets which a good program should meet:

  • Does a program meet its specification ("correct output for each possible input")?
  • Is the program produced on schedule (and within budget)?
  • How adaptable is the program to cope with changing requirements?
  • Is the program efficient enough for the environment in which it is used?

Hoare has identified seventeen objectives related to software quality, including:

Sign in to keep reading

3 more chapters are free with a Lably account.

More in Computing and communication