Содержание

Модульность - Логическая группировка взаимосвязанного кода, который может быть структурирован в классах (ООП) или функциях (структурная или функциональная парадигма)

Cohesion

Cohesion - метрика, которая показывает до какой степени части модуля должны быть внутри одного модуля. Или в других словах - это мера того, как части модуля связаны друг с другом

Модуль и связи внутри него

Высокое значение - хорошо

Coupling

Coupling - степень взаимозависимости между модулями; мера того, как близко взаимосвязаны две функции из разных модулей; сила связей между модулями

Связи между модулями

Высокое значение - плохо - можно был оне делить

Connascence

Connascence - метрика, позволяющая размышлять о сложности, вызванной отношениями зависимости в ООП.

ООП'шная версия coupling

Бывает:

  • статичный

    • name
    • type
    • meaning
    • algorithm
    • position
  • динамичный

    • execution
    • timing
    • value
    • identity

В порядке возрастания плохого эффекта от их присутствия

Refactoring direction обратное