Приветствую!
Не уверен в терминологии, но кажется сформулировал верно.
Я периодически пишу небольшие в космическом масштабе, но достаточно обширные с точки зрения макросописательства проекты под Office на VBA. Это сразу определяет отсутствие какой-то подробной документации по изделию.
Иногда приходится вносить мелкие дополнения-изменения в код, которые, в свою очередь, могут повлечь непредсказуемые последствия на всю систему. Поскольку времени на тестирование тоже особо нет, то сценарий работы таков: внёс правку, подождал пока пользователь прибежит в ужасе от того, что что-то перестало работать, пофиксил поломку.
Меня интересует следующее: есть ли какой-то проверенный и простой способ достаточно наглядно и эффективно документировать эти внутренние связи, чтобы точно знать: подправил здесь - смотри, как откликнется там. О схемах типа вход-выход-управление представление имею, главный вопрос - как наиболее просто это применять. Может есть алгоритм надёжного составления такой карты, или чеклист какой?
Вообще, для этого делают юнит тесты. Но у вас VBA, хотя, там тоже можно извернуться.
Для интеграции ещё придумали интерфейсы... но у вас VBA...
В принципе, можно было бы попробовать сделать внешнюю библиотеку (DLL) и из ваших модулей кинуть ссылку на неё. Всё взаимодействие между разными элементами проекта осуществлять через эту библиотеку. Так вы получите единую точку контроля, контролировать которую будет значительно проще.
VMesser, Для этого необходимо будет довольно серьёзно подредактировать ваш проект.
Если рассматривать его как единое целое, то каждая его подсистема должна опрашивать объект в библиотеке, и получать данные только из неё (а не напрямую). Если подсистема сама вносит изменения, она так же должна обращаться к классам внешней библиотеки и передавать данные только в неё и никуда больше.
Таким образом, все потоки данных, изменяющие внутреннее состояние системы, будут пересекаться в одной точке.
Более того, если вы это реализуете, методы вашей DLL можно будет покрыть юнит-тестами, чтобы быстро находить проблемы.