Декомпозиция кода/частей инф. системы -- что это такое

Декомпозиция кода -- разбиения кода на подпрограммы (модули, процедуры функции или классы -- в зависимости от уровня абстракции). Позволяет:

  • избегать дублирования, (это, по сути, главное)
  • улучшать читаемость кода,
  • упростить его повторное использование (при условии, что декомпозия проводится с учетом рекомендаций по уменьшению связности)

т.е. уходить от худших практик к лучшим подходам).

Примеры

  • В процедурном подходе: Так например одную функцию (если она "слишком" длинная) можно разбить на две (то есть одна будет вызывать внутри своего тела другую), если в первой есть что-то что можно использовать отдельно,
  • В ООП: скажем, вместо того чтобы дублировать код в двух классах, лучше унаследовать общий функционал от класса родителя.