Как управлять одной последовательной документацией для разных реализаций одного проекта в Java, С# и C++?
У нас есть проекты, для которых нам необходимо предоставить версии на Java, С# и C++.
Одна из проблем, с которыми мы сталкиваемся, - документация Версия C++ - наша основная версия. Затем мы распространяем изменения на версии С# и Java. Каждый раз, когда мы вносим изменения в C++, нам нужно сделать то же самое для версий Java и С#. Есть ли способ справиться с этим?
Для документирования C++ и С# мы используем Visual Studio и javadoc для версий Java.
Вы можете использовать Doxygen, который обеспечивает единый, независимый от языка синтаксис и работает для C++, Java, а также для С#.
Я предпочитаю решать эту проблему с помощью инструментов управления версиями.
Я создаю отдельные репозитории Git для каждого другого языкового проекта. В этом случае я начну с репозитория C++, а затем создаю дополнительные для кода Java и С#.
Поскольку код C++ является "основной" (или ссылочной) версией, я бы открыл репозиторий С# и добавил новый подмодуль Git для кода C++. Этот подмодуль всегда будет представлять, как "современная" ваша библиотека С# сравнивается с библиотекой C++. Сделайте то же самое для репозитория библиотеки Java.
После внесения изменений в код C++ (включая документацию) вы можете изучить подмодули для целей С# и Java. Эти подмодули покажут коммиты, внесенные в библиотеку C++ с момента последнего обновления кода С# или Java, что позволяет легко применять и/или проверять изменения на других языках. Когда вы фиксируете изменения в библиотеках С# или Java, вы можете обновить ссылку на подмодуль, чтобы указать на новую "обновленную" фиксацию в библиотеке C++.
Этот рабочий процесс имеет большое преимущество в том, что он всегда информирует всю команду о том, обновляется ли каждая библиотека или нет, а если нет, то какие именно изменения необходимо внести для ее обновления.
public <T> void f(Collection<T> x)
, вероятно, будет выглядеть какtemplate<typename It> void f(It begin, It end)
в C ++. Как будет выглядеть унифицированная документация дляf
?