Vés al contingut

Entropia del programari

De la Viquipèdia, l'enciclopèdia lliure

L'entropia del programari és la mesura de desordre del programari que reflecteix la complexitat del seu manteniment. Ja que a mesura que es fan modificacions o s'agrega nou codi aquest va perdent la seva estructura inicial i augmenta la seva entropia.[1]

Un treball d'enginyeria del programari d'Ivar Jacobson et al.[2] descriu l'entropia del programari com segueix: La segona llei de la termodinàmica, en principi, afirma que el desordre d'un sistema tancat no pot reduir-se, només pot romandre sense canvis o augmentar. Una mesura d'aquest desordre és l'entropia. Aquesta llei també sembla plausible per als sistemes de programari; Quan un sistema és modificat, la seva desordre o entropia, tendeix a augmentar. Això és conegut com a entropia del programari. En desenvolupament de programari, hi ha teories similars; veure a Lehman (1985),[3] qui va proposar una sèrie de lleis, dels quals dos eren, bàsicament, com segueix:

  1. Un programa en ús es modificarà.
  2. Quan un programa és modificat, la seva complexitat augmenta, sempre que no es treballi activament en contra d'això.

Andrew Hunt i David Thomas utilitzen la metàfora reparant finestres trencades de criminologia per evitar l'entropia del programari en el desenvolupament de software.[4]

El procés de refactorització de codi pot reduir gradualment l'entropia del programari.

Referències

[modifica]
  1. Parashar, Nilesh. «What is Software Entropy?» (en anglès), 07-12-2022. [Consulta: 26 juliol 2023].
  2. Jacobson, Ivar; Christerson, Magnus; Jonsson, Patrik; Övergaard, Gunnar (1992), Object-Oriented Software Engineering: A Use Case Driven Approach, ACM Press. Addison–Wesley, pp. 69-70, ISBN 0-201-54435-0
  3. Lehman, M. M.; Belady, L.A.. Program evolution: processes of software change. Academic Press Professional, Inc., San Diego, CA, 1985. 
  4. Hunt, Andrew; Thomas, David (1999), The Pragmatic Programmer, Addison Wesley, ISBN 0-201-61622-X – Item 4 (of 22 tips) is Don't Live with Broken Windows.

Vegeu també

[modifica]