Энтропия ПО

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

Работа Ивара Якобсона и других по разработке программного обеспечения[1], описывает программную энтропию следующим образом:

Второй закон термодинамики основан на том, что беспорядок в замкнутой системе не может уменьшаться, он может только оставаться неизменным или расти. Мерой беспорядка является энтропия. Этот закон справедлив и для программных систем. При модификации системы её беспорядок может только расти, это и называется энтропия ПО.
В разработке ПО есть похожие теории. Мэнни Леман в работе 1985[2] предложил несколько законов, два из которых:
  1. Используемая компьютерная программа будет модифицирована;
  2. Когда компьютерная программа модифицируется, её сложность увеличивается, при условии что никто этому не препятствует.

Эндрю Хант и Дэйвид Томас использовали теорию разбитых окон как метафору к энтропии в разработке программного обеспечения[3]

Рефакторинг может привести к сокращению энтропии ПО.

Энтропия ПО растёт при накоплении технического долга.

Ссылки

  1. Ivar Jacobson. Object-oriented software engineering. — ACM Press, 1992. — 554 с.
  2. Lehman, M. M. Program evolution: processes of software change. — San Diego, CA: Academic Press Professional, Inc., 1985. — ISBN 9780124424418. — ISBN 9780124424401.
  3. The Pragmatic Programmer (англ.) // Wikipedia. — 2019-10-22.