Модульность - Логическая группировка взаимосвязанного кода, который может быть структурирован в классах (ООП) или функциях (структурная или функциональная парадигма)
Cohesion
Cohesion - метрика, которая показывает до какой степени части модуля должны быть внутри одного модуля. Или в других словах - это мера того, как части модуля связаны друг с другом
Модуль и связи внутри него
Высокое значение - хорошо
Coupling
Coupling - степень взаимозависимости между модулями; мера того, как близко взаимосвязаны две функции из разных модулей; сила связей между модулями
Связи между модулями
Высокое значение - плохо - можно был оне делить
Connascence
Connascence - метрика, позволяющая размышлять о сложности, вызванной отношениями зависимости в ООП.
ООП'шная версия coupling
Бывает:
-
статичный
- name
- type
- meaning
- algorithm
- position
-
динамичный
- execution
- timing
- value
- identity
В порядке возрастания плохого эффекта от их присутствия
Refactoring direction обратное