Software rot

Software erosion (English: software erosion, erosion code ), also known as software decay (English: software decay, code decay ), Softwareverrottung (English: Software red, code red), referred to the increasing entropy of an existing software solution. This entropy leads with increasing development of the software solution to a decrease in performance, impediments to adaptability, an increase by the accumulation of bugs and incompatibilities with new and future software environments. The software solution gets in the medium term a " smell " and is useless in the long term to a legacy system and that.

Refactoring

Refactoring is a measure to address the problem of software erosion. This is to make the process of rewriting existing code to improve the structure without changing the external behavior. This includes removing dead code and rewriting of portions that have been extensively modified and no longer work effectively. Here it must be ensured that the external behavior of the code does not change, as this can lead to incompatibilities and allow the software to accelerated erosion. The code performance can be tested with unit tests, which automatically verify the behavior of the code.

Credentials

Abstract Factory | Builder | Factory Method | Prototype | Singleton

Adapter | Bridge | Decorator | Facade | Flyweight | Composite | Deputy

Observer | Visitors | Interpreter | Iterator | command | Memento | template method | strategy | Operators | state | Chain of Responsibility

Multitone | Object Pool

Interceptor | null object | protocol stack

Business Delegate | Repository | Data Access Object | Transfer Object | Dependency Injection | Extension Interface | Fluent Interface | Inversion of Control ( IoC ) | Model View Presenter ( MVP ) | Model View ViewModel ( MVVM ) | Thread Pool | Service Locator

  • Anti- Pattern
736550
de