Definicja Wikipedii z oprogramowania zgniliznę skupia się na wydajności oprogramowania. To jest inne zastosowanie niż ja; Myślałem o tym znacznie bardziej pod względem czystości i wyglądu kodu - pod względem tego, że kod ma wszystkie standardowe cechy jakościowe: czytelność, łatwość konserwacji itp. Teraz wydajność prawdopodobnie spadnie, gdy kod stanie się nieczytelny, ponieważ nikt nie wie, co się dzieje. Ale czy termin rotacja oprogramowania ma specjalne odniesienie do wydajności? czy mam rację sądząc, że odnosi się to do czystości kodu? a może jest to przypadek wielu zmysłów tego terminu, które jest powszechnie używane - z perspektywy użytkownika ma to związek z wydajnością; ale dla twórcy oprogramowania musi to zrobić bardziej szczegółowo z tym, jak odczytuje kod?
źródło
Odpowiedzi:
Termin ten nie jest związany z wydajnością, a przynajmniej nigdzie go nie widziałem.
Dotyczy to w szczególności kodu, który nie jest dobrze utrzymywany i staje się ... brudny ... zgniły. Chodzi o kod, którego projekt nie został zaktualizowany w związku z wprowadzonymi zmianami i jest trudny do odczytania i zrozumienia.
źródło
Spojrzmy prawdzie w oczy. „Zgnilizna oprogramowania” nie jest dobrze zdefiniowaną koncepcją techniczną. Jest to raczej pejoratywny opis tego, co dzieje się, gdy oprogramowanie jest źle obsługiwane.
Strona Wikipedii reprezentuje jeden widok, ale istnieją wyraźnie alternatywne widoki. I można powiedzieć, że różne poglądy odzwierciedlają różne priorytety i obawy osoby zajmującej te poglądy:
Ktoś, kto koncentruje się na szybkim tworzeniu oprogramowania, będzie bardziej skłonny szukać dowodów na „zgniliznę oprogramowania” w działaniu.
Ktoś, kto skupia się na projektowaniu / architekturze (np. Ponieważ musi dodać nową funkcjonalność lub naprawić błędy funkcjonalne), zobaczy „zgniliznę oprogramowania” z tej perspektywy.
I nie jest tak naprawdę użyteczne stwierdzenie, czyja perspektywa jest bardziej właściwa. (To trochę jak kłótnia, czy turkus jest bardziej zielony czy bardziej niebieski).
źródło
Powiedziałbym, że termin „zgnilizna oprogramowania” ogólnie odnosi się do przydatności do danego zadania. Oprogramowanie może stać się mniej odpowiednie do zamierzonego zadania z powodu kolejnych poprawek błędów, nowych funkcji i drobnych poprawek. Podsumowując, mogą one negatywnie wpłynąć zarówno na łatwość konserwacji, jak i wydajność. Ponadto potrzeby organizacji prawdopodobnie zmienią się z czasem, a oprogramowanie może zostać zmuszone do pełnienia ról, do których nigdy tak naprawdę nie został zaprojektowany. Wszystkie te czynniki powodują, że oprogramowanie staje się mniej dostosowane do potrzeb organizacji, co może się zdarzyć nawet przy wspólnych staraniach o utrzymanie oprogramowania.
źródło
Wikipedia twierdzi, że zgnilizna oprogramowania i zgnilizna kodu są takie same. Nie zgadzam się.
Zgnilizna kodu to stopniowa utrata czytelności i łatwości konserwacji wraz z wprowadzaniem coraz większej liczby zmian w kodzie.
Zgnilizna oprogramowania to stopniowa utrata wydajności w miarę przenoszenia oprogramowania z jednego emulatora środowiska do drugiego. Jednym z przykładów jest całe oprogramowanie Data PDP działające na emulatorach. W rzeczywistości środowisko gnije, a nie oprogramowanie.
źródło
Oprogramowanie nie psuje się, nie starzeje, nie zużywa się ani nie „gnije” w tradycyjnym tego słowa znaczeniu.
Jeśli środowisko, w którym działa oprogramowanie, nie ulegnie zmianie, oprogramowanie zasadniczo będzie trwać wiecznie. Dlatego tak mnie denerwuje, gdy ktoś pyta, czy jakaś biblioteka jest „martwa”, ponieważ autor nie dokonał aktualizacji w ciągu ostatnich 5 minut (przesadzając tylko nieznacznie dla efektu).
Ale środowisko zwykle się zmienia; systemy operacyjne są łatane i aktualizowane, komputery zastępowane są mocniejszymi i instalowane są nowe programy (takie jak najnowsza wersja klienta, takiego jak Internet Explorer, sterowniki urządzeń lub inne biblioteki), od których może zależeć oprogramowanie. Dlatego oprogramowanie musi zostać zaktualizowane, aby uwzględnić te zmiany.
Istnieją systemy oprogramowania, które działały nieprzerwanie i niezawodnie przez dosłownie dziesięciolecia, bez konieczności znacznej aktualizacji lub konserwacji. Przychodzi mi na myśl oprogramowanie COBOL działające na komputerach mainframe obsługujących transakcje bankowe (choć w 1999 r. Wszystkie musiały zostać zmodyfikowane, aby obsługiwały Y2K).
Nacisk Wikipedii na wydajność wydaje się nie mieć sensu; wiele aplikacji faktycznie uzyskuje wzrost wydajności, gdy są instalowane w nowszym środowisku. Artykuł z Wikipedii wydaje się być bardziej zaniepokojony wzdęciem oprogramowania .
źródło
„Zgnilizna oprogramowania” - jest bardzo niejasnym terminem i może oznaczać różnorodność rzeczy dla każdego, w zależności od tego, jak postrzegasz koncepcję, a także jaki jest twój kąt widzenia .
Definicja Wikipedii dotycząca oprogramowania Zgnilizna nie ustanawia standardu, ponieważ jest również napisana przez niektóre osoby. Myślę, że termin ten ma różnorodne znaczenie i należy go rozbić na konkretne obszary, w których się go odnosi.
źródło
Zawsze myślałem o gniciu oprogramowania jako warunku, który występuje, gdy nie używasz oprogramowania przez pewien czas. W jakiś sposób oprogramowanie zmienia się w stan, w którym nie da się go zbudować. Następnie, gdy dojdziesz do punktu, w którym możesz go zbudować, nie będzie on działał z wejściami i wyjściami, jak wcześniej. To prawie tak, jakby kod faktycznie zdegradował się w formie, mimo że jest przechowywany cyfrowo.
źródło