Архитектурный обзор имеет решающее значение для успеха.
В мире мэйнфреймов, где вещи по историческим причинам остаются неизменными, люди придумывают способы справиться с ситуацией, а XXXyyy-соглашения о присвоении имен повсеместны.
В мире мэйнфреймов выбор технологий ограничен. На данный момент они в основном исправлены. Темпы перемен ледниковые. Таким образом, стабильная база данных для перечисления описаний стабильного списка технологических элементов имеет смысл.
[Кроме того, поскольку почти все является «программой», обсуждать программные компоненты, которые не являются программами, сложно. Хуже того, если у вас есть архитектура, в которой вы можете создавать составные приложения из других приложений, люди из мэйнфреймов очень запутываются. Это нормально для Python и относительно просто для Java.]
В мире без мэйнфреймов, где вещи исторически сложились иерархически, люди изобретают способы справиться с ситуацией.
В мире Windows, где технологические изменения происходят совершенно бессистемно, вам нужен другой механизм преодоления. [В мире открытого кода это еще хуже.]
Лучшей практикой является предоставление разумного, полезного, архитектурного обзора, который помещает каждый компонент исходного кода в некоторый контекст "большой картинки". Вы обязаны предоставить это (в письменном виде). Если вы выиграете в лотерею и уйдете завтра, что станет с вашей .Net-архитектурой? Менеджмент (и ваша замена) не хотят с этим справляться. Они хотят что-то стабильное и написанное.
База данных, возможно нет.
Стабильно и письменно, да.
В мире Python мы используем Sphinx (с .. automodule
) для создания документации из источника.
В мире Java мы используем JavaDoc для создания документации из исходного кода.
Ваш лучший подход - создать главный документ JavaDoc (или Sphinx-подобный) из исходного кода. Я уверен, что для этого есть соответствующие инструменты .Net. Если нет, прочитайте JavaDoc, украсьте свои блоки комментариев с помощью языка очень простой разметки и отберите собственную документацию из собственного источника.