Bezieht sich Software Rot hauptsächlich auf die Leistung oder auf unordentlichen Code?

22

Die Wikipedia-Definition von Software rot konzentriert sich auf die Leistung der Software. Dies ist eine andere Verwendung als ich es gewohnt bin; Ich hatte viel mehr daran gedacht, was die Sauberkeit und das Design des Codes anbelangt - in Bezug auf den Code, der alle Standardqualitätsmerkmale aufweist: Lesbarkeit, Wartbarkeit usw. Nun wird die Leistung wahrscheinlich sinken, wenn der Code unlesbar wird. weil niemand weiß, was los ist. Aber hat der Begriff Software einen besonderen Bezug zur Leistung? oder habe ich recht damit, dass es sich um die sauberkeit des codes handelt? oder ist dies vielleicht ein Fall, in dem mehrere Sinne des Begriffs gebräuchlich sind - aus der Sicht des Benutzers hat dies mit der Leistung zu tun; aber für den Software-Handwerker hat es spezifischer damit zu tun, wie der Code liest?

Kazark
quelle
1
Wikipedia listet 3 Ursachen, von denen 2 nicht mit der Leistung zusammenhängen, Unbenutzter Code und selten aktualisierter Code ...
Izkata
2
"Software kann im Laufe der Zeit an" Leistung "verlieren und zu dem werden, was allgemein als" Legacy "bezeichnet wird, da sie ausgeführt wird und Fehler ansammelt. Dies wird im Allgemeinen nicht als Softwarefäule angesehen, obwohl dies möglicherweise einige der gleichen Konsequenzen hat." Ich denke, es ist klar, dass Software Rot nichts mit Leistung zu tun hat.
zzzzBov
1
Das einzige Redeaming-Feature auf der gesamten Wikipidia-Seite ist die Tag-Warnung, dass es keine Verweise auf relibale Quellen gibt.
Mattnz

Antworten:

39

Der Begriff ist nicht leistungsbezogen, jedenfalls nirgendwo, wo ich ihn gebraucht gesehen habe.

Es geht speziell um Code, der nicht gut gepflegt wird und ... schmutzig ... faul wird. Es handelt sich um Code, dessen Design nicht aktualisiert wurde, als Änderungen vorgenommen wurden, und der schwer zu lesen und zu verstehen ist.

Oded
quelle
1
Ich habe gehört, es bezog sich früher auf die Leistung: zB "Windows rot", das Gefühl, dass Sie Windows immer wieder neu formatieren und neu installieren müssen, wenn es mit der Zeit langsamer wird.
Carson63000
3
Ja ... aber "Software rot" und "Windows rot" sind unterschiedliche Begriffe.
Stephen C
4
@Oded - die Analogie ist nicht mit Schmutz. Es ist mit der Art von Fäulnis, die in alten Gebäuden auftritt, die sie strukturell ungesund lässt.
Stephen C
18

Seien wir ehrlich. "Software rot" ist kein genau definiertes technisches Konzept. Es ist eher eine abwertende Beschreibung dessen, was passiert, wenn Software schlecht gewartet wird.

Die Wikipedia-Seite repräsentiert eine Ansicht, aber es gibt eindeutig alternative Ansichten. Und man könnte sagen, dass die verschiedenen Ansichten die unterschiedlichen Prioritäten und Anliegen der Person widerspiegeln, die die Ansichten vertritt:

  • Jemand, der sich darauf konzentriert, Software schnell zu machen, ist eher geneigt, nach Beweisen für eine "Softwarefäule" in der Leistung zu suchen.

  • Jemand, der sich auf Design / Architektur konzentriert (z. B. weil er neue Funktionen hinzufügen oder Funktionsfehler beheben muss), wird "Software verrotten" aus dieser Perspektive sehen.

Und es ist nicht wirklich nützlich zu sagen, wessen Perspektive richtiger ist. (Es ist ein bisschen wie zu streiten, ob Türkis mehr grün oder mehr blau ist.)

Stephen C
quelle
1
Da der Beitrag des OP über Wikipedia war, präsentiere ich: Türkis (Farbe) - Es ist "grün", aber ein "bläulicher Farbton" davon. Also ich denke dein Argument ist vernünftig :).
Ben Lee
6

Ich würde sagen, dass sich der Begriff "Software verrotten" im Allgemeinen auf die Eignung für die jeweilige Aufgabe bezieht. Software ist möglicherweise für die beabsichtigte Aufgabe weniger geeignet, da zahlreiche Fehlerkorrekturen, neue Funktionen und kleinere Optimierungen vorgenommen wurden. Zusammengenommen können diese sowohl die Wartbarkeit als auch die Leistung beeinträchtigen. Darüber hinaus werden sich die Anforderungen des Unternehmens wahrscheinlich im Laufe der Zeit ändern, und die Software wird möglicherweise Rollen zugewiesen, für die sie nie wirklich entwickelt wurde. All diese Faktoren führen dazu, dass die Software den Anforderungen des Unternehmens weniger gerecht wird, und dies kann auch mit einem konzertierten Aufwand für die Wartung der Software geschehen.

Caleb
quelle
6

Wikipedia sagt, dass Software rot und Code rot gleich sind. Ich stimme dir nicht zu.

Code Rot ist der allmähliche Verlust der Lesbarkeit und Wartbarkeit, da immer mehr Änderungen am Code vorgenommen werden.

Software Rot ist der allmähliche Leistungsverlust, wenn Software von einem Umgebungsemulator auf einen anderen verschoben wird. Ein Beispiel ist die gesamte PDP-Software von Data General, die auf Emulatoren ausgeführt wird. Tatsächlich ist es die Umgebung, die verrottet, nicht die Software.

Gilbert Le Blanc
quelle
+1. wikipedia gleichgestellte Software rot mit Code rot. Wir sollten das ändern. Dort verrottet mehr Software. Ein Beispiel ist die nicht verwendbare / schwer zu verwendende Benutzeroberfläche. Veraltete / falsche Dokumentation trägt ebenfalls bei.
Jayan
3

Software wird im herkömmlichen Sinne nicht schlecht, veraltet, abgenutzt oder "verrottet".

Wenn sich die Umgebung, in der die Software betrieben wird, nicht ändert, wird die Software im Wesentlichen für immer Bestand haben. Aus diesem Grund ärgere ich mich so, wenn jemand fragt, ob eine Bibliothek "tot" ist, weil der Autor in den letzten 5 Minuten keine Aktualisierung vorgenommen hat (nur geringfügige Übertreibung).

Aber die Umgebung ändert sich normalerweise ; Betriebssysteme werden gepatcht und aktualisiert, Computer werden durch leistungsfähigere ersetzt und neue Programme werden installiert (wie die neueste Version eines Clients wie Internet Explorer, Gerätetreiber oder andere Bibliotheken), von denen die Software abhängig sein kann. Daher muss die Software aktualisiert werden, um diese Änderungen zu berücksichtigen.

Es gibt Softwaresysteme, die buchstäblich seit Jahrzehnten kontinuierlich und zuverlässig ausgeführt werden, ohne dass sie wesentlich aktualisiert oder gewartet werden. Die COBOL-Software läuft auf Großrechnern, die Bankgeschäfte abwickeln (obwohl sie alle 1999 geändert werden mussten, um Y2K abzuwickeln).

Der Leistungsschwerpunkt von Wikipedia scheint zu verfehlen; Viele Softwareanwendungen erhalten tatsächlich eine Leistungssteigerung , wenn sie in einer neueren Umgebung installiert werden. Der Wikipedia-Artikel scheint sich eigentlich mehr mit Software Bloat zu beschäftigen.

Robert Harvey
quelle
Software aufblähen - ja, guter Punkt. In meinem Verständnis des Begriffs, als ich die Frage stellte, hatte Software Rot damit zu tun, dass sie von einer Gruppe von Entwicklern weiter modifiziert wurde, deren Standards für die Codebereinigung und das Design unterdurchschnittlich waren.
Kazark
3

"Software rot" - ist ein sehr vager Begriff und kann für jeden eine Vielzahl von Dingen bedeuten, abhängig davon, wie Sie das Konzept wahrnehmen und welchen Blickwinkel Sie haben .

Definition von Wikipedia über Software rot setzt keinen Standard, wie er auch von einigen Personen geschrieben wird. Ich denke, dieser Begriff hat verschiedene Bedeutungen und muss auf die spezifischen Bereiche heruntergebrochen werden, in denen er referiert wird.

  • Programmierer verstehen dies möglicherweise als eine nicht wartbare Codebasis mit vielen Antimustern und einer nicht konsistenten Benennung und Codierung.
  • Systemadministratoren verstehen dies möglicherweise als schlechte Leistung, voller Speicherlecks und Hölle. Instandhaltung.
  • Der Endbenutzer kann dies als sehr komplizierte, nicht intuitive, schwer zu handhabende Software verstehen.
EL Yusubov
quelle
2

Ich hatte Software Rot immer als einen Zustand angesehen, der auftritt, wenn Sie Software für einen bestimmten Zeitraum nicht verwenden. Irgendwie verwandelt sich die Software in einen Zustand, in dem sie nicht mehr erstellt werden kann. Wenn Sie es dann zu einem Punkt bringen, an dem Sie es erstellen können, funktioniert es nicht mehr mit den Ein- und Ausgängen wie zuvor. Es ist fast so, als ob der Code tatsächlich in seiner Form beeinträchtigt wäre, obwohl er digital gespeichert ist.

Kent
quelle
1
Weil sich die Umgebung (Compiler, Bibliotheken oder was auch immer) geändert hat? Wikipedia diskutiert das.
Kazark