The maintainability ( English maintainability , supportability or serviceability ) of software is a criterion in the development of software and shows the energy and success with which changes can be made in a system context of applications.
Maintainability is all the more important
- the longer the planned period of use of the software
- the lower the availability of experts for the subject
Important criteria for the maintainability of software are:
- the documentation , in particular, the exact specification of interfaces (interfaces)
- a modular , highly structured structure (breakdown into elementary, individually testable units)
- the absence of jump instructions ("GOTO" commands)
- the local intelligibility of instructions
- avoiding global variables
- the parameterizability of functions and methods
- Tests built into the program of the assumptions that the programmer has about program states ( assertions )
- the largest possible range of automatically executable tests for the system
- the use of generally known and recognized design patterns
Maintainability is one of the criteria that determine the further development of programming languages .
- Ch. Bommer, M. Spindler, V. Barr: Software maintenance - basics, management and maintenance techniques , dpunkt.verlag, Heidelberg 2008, ISBN 3-89864-482-0