Softverska entropija
Izgled
Softverska entropija je pojam kojim se opisuje entropija koja nastaje u softverskim sustavima kada ih se izmijeni. Rad o softverskom inženjeringu autora Ivara Jacobsona i suradnika. [1] opisuje softversku entropiju kao:
- Prema drugom zakonu termodinamike, u načelu, nerednost zatvorena sustava se ne može smanjiti, nego može samo ostati ista ili još narasti. Mjera za taj nered je entropija. Ovaj zakon je izgleda vjerojatan i za softverske sustave; čim se izmijeni sustav, njegov nered, odnosno entropija uvijek raste. Ovo je poznato kao softverska entropija.
- U razvijanju softvera postoje slične teorije. Usporedi Lehmanov rad iz 1985. godine.,[2] gdje je predložio nekoliko zakona, od kojih neki glase:
- Računalni program kojeg se koristi će se izmijeniti.
- Kad se program izmijeni, njegova složenost će biti veća, osim ako netko aktivno ne radi suprotivu tome.
Andrew Hunt i David Thomas rabe izraz Fixing Broken Windows kao metaforu za izbjegavanje softverske entropije u razvijanju softvera.[3]
Proces refaktoriranja koda može rezultirati postupnim smanjenjem softverske entropije.
- softverska krtost
- softversko trunjenje
- trunjenje bitova
- kodni smrad
- bug (softver)
- špageti kod
- dependencija
- dependencijski pakao
- zakrpa
- ↑ Jacobson, Ivar; Christerson, Magnus; Jonsson, Patrik; Övergaard, Gunnar. 1992. Object-Oriented Software Engineering: A Use Case Driven Approach. ACM Press. Addison-Wesley. str. 69.-70. ISBN 0201544350
- ↑ Lehman, M.M.; Belady, L.A. 1985. Program evolution: processes of software change. Academic Press Professional, Inc., San Diego, CA
- ↑ Hunt, Andrew; Thomas, David. 1999. The Pragmatic Programmer. Addison Wesley. ISBN 0-201-61622-X - Naputak br. 4 (od 22 naputka) glasi Ne živi uz razbijene prozore (=Windowse koji su pukli)" (eng. "Don't Live with Broken Windows").