Softwareerosion
Softwareerosion ({{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value)), auch bekannt als Softwarezerfall ({{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value)) oder Softwareverrottung (englisch {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)), bezeichnet die schleichende Verschlechterung einer bestehenden Software, wie den zunehmenden Rückgang der Performanz, Erschwernisse bei der Anpassbarkeit oder eine zunehmende Anhäufung von Programmfehlern sowie Inkompatibilitäten mit neuen und zukünftigen Softwareumgebungen. Die Softwarelösung bekommt mittelfristig einen Code-Smell und wird langfristig zu einem Altsystem und damit unbrauchbar.
Refactoring
Refactoring ist eine Maßnahme, um dem Problem der Softwareerosion zu begegnen. Es handelt sich hierbei um den Prozess des Umschreibens existierenden Codes, um die Struktur zu verbessern, ohne das externe Verhalten zu ändern.<ref>Martin Fowler: What Is Refactoring. 11. September 2007, abgerufen am 31. Januar 2013 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Dies beinhaltet das Entfernen toten Codes und das Neuschreiben von Abschnitten, die stark modifiziert wurden und nicht mehr effizient arbeiten. Es muss hierbei darauf geachtet werden, dass sich das externe Verhalten des Codes nicht ändert, da dies zu Inkompatibilitäten führen kann und damit die Softwareerosion noch beschleunigt. Das Codeverhalten kann mit Modultests geprüft werden, die das Verhalten des Codes automatisch verifizieren.
Siehe auch
Einzelnachweise
<references />
<templatestyles src="Erweiterte Navigationsleiste/styles legacy.css" />Vorlage:Klappleiste/Anfang