Я занимаюсь разработкой библиотеки классов, предназначенной для решения широкого круга задач.Одна вещь об этой библиотеке - то, что она будет использоваться несколькими различными языками и средами изначально.Например, будет версия 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) или я застрял, копируя и вставляяодин и тот же текст в исходные файлы каждой версии?