Я хотел бы начать использовать DSM, но не знаю, как начать.
Как выглядит хорошая матрица зависимостей и почему? Как это работает?
Я хотел бы начать использовать DSM, но не знаю, как начать.
Как выглядит хорошая матрица зависимостей и почему? Как это работает?
В этой статье блога " Определить шаблоны структуры кода без усилий" объясняется, как использовать матрицу структуры зависимостей для идентификации шаблонов структуры кода. Снимки экрана сделаны с помощью Матрицы структуры зависимостей инструмента NDepend. Вот несколько шаблонов:
Многоуровневый код (код без цикла, безусловно, самая крутая вещь, которую DSM может показать вам с первого взгляда)
Код с циклами зависимостей
Высокая когезия/низкая связь
Голодный абонент
Популярная Калли
Взаимная связь
Объект данных
Эрик Дорненбург дает лучшее описание Я видел, в том числе некоторые хорошие примеры того, как механизмы графика могут выявлять структурные проблемы. Вкратце:
Перечислите подсистемы на оси X и Y в том же порядке. Отметьте "O" по диагонали. Подсистемы, зависящие от самих себя, не имеют смысл. Двигайтесь вертикально вниз по матрице. Если эта подсистема зависит от согласованной горизонтальной подсистемы, отметьте X.
Хороший переносит подсистемы для отображения паттернов, которые могут ведут к хорошему рефакторингу.
У меня нет ни одной удобной. К сожалению.
Одной из наиболее ценных функций DSM является определение циклов, например, между проектами или пакетами. Цикл отображается в верхней правой части матрицы. См. Эту страницу для более подробной информации: http://docs.codehaus.org/display/SONAR/Dependency+Structure+Matrix