Я разрабатываю библиотеку классов, предназначенную для решения широкого круга задач. Одна вещь об этой библиотеке заключается в том, что она будет изначально использоваться несколькими различными языками и средами. Например, будет версия C++, полностью написанная на C++, версия .NET, написанная на C#, и версия Java, написанная на Java, без каких-либо зависимостей друг от друга... в отличие от написания основной библиотеки на C++ и простого предоставления .NET и привязки к нему Java.
Библиотека в каждой из своих различных форм предназначена для решения различных, но иногда очень похожих задач. Например, может быть много классов, члены которых будут функционально идентичны в каждом языке, а также может быть много классов, которые будут присутствовать только в одной или двух языковых версиях библиотеки, но не в других. Возьмите класс или структуру, представляющую номер версии программы. В .NET уже есть такой класс (System.Version
), поэтому я бы не стал включать его в свою версию .NET, но библиотеки C++ и Java предоставят его.
Проблема, с которой я столкнулся, заключается в том, что для классов, которые будут существовать в большинстве или во всех версиях библиотеки, документация останется относительно неизменной (очевидно). Краткий текст для версии C++ и Java для структуры Version будет выглядеть примерно так: "Представляет номер версии программного обеспечения в форме major.minor.build.revision"... как и подробное описание класса, и все члены документация и т. д. Как вы знаете, .NET, Java и C++ имеют собственный синтаксис документации. Есть ли способ, которым я могу попытаться объединить документацию нейтральным к языку способом (БЕЗ написания документации отдельно от исходного кода - например, ручная документация, а не создание ее с использованием doxygen/sandcastle/javadoc), или я застрял, копируя и вставляя один и тот же текст в исходные файлы каждой версии?