Как использовать @version в phpDoc? - PullRequest
0 голосов
/ 22 января 2019

Я читал phpDoc и комментарии к коду.

Правильно ли я понимаю, что @ версия может использоваться несколько раз в проекте.

Документация, приведенная в ссылке выше, предполагает это с помощью выражения «Тег @version может использоваться для обозначения текущей версии Structural Elements.»

Так, например, в плагине, основным плагином может быть версия 1.0.0, но тогда класс этого плагина может быть версией 3.0.0. Если да, то относится ли @since непосредственно к предыдущему используемому тегу @version?

1 Ответ

0 голосов
/ 04 февраля 2019

Вы правы в том, что @version может использоваться несколько раз в проекте. Тег преднамеренно гибкий и может использоваться от одной крайности (версии всего пакета, поэтому все теги показывают одно и то же значение) до другой крайности (каждый отдельный класс / метод / функция / любой другой имеет свою собственную версию # и изменение history, поэтому класс v1.2.3 может иметь десять методов, каждый из которых показывает свои собственные номера версий). В целом, однако, я не думаю, что когда-либо видел случай, когда версия использовалась более детально, чем на уровне «устанавливаемой библиотеки / пакета / приложения».

Что касается тега @since ... в каком бы стиле вы не использовали тег @version для данного элемента, тег @since представляет версию #, в которой элемент был впервые представлен. В этом случае вы можете использовать тег @since как журнал изменений, и, таким образом, у вас будет несколько тегов @since для одного и того же элемента (см. Пример функции dump() здесь - http://docs.phpdoc.org/references/phpdoc/tags/since.html).

Мое предложение о том, как использовать эти теги: - «версия» - это полная версия выпуска пакета / библиотеки / приложения, обозначенная как находящаяся в одном репозитории управления версиями. - Я бы поместил теги @version только в докблоки на уровне файлов, докллоки на уровне классов и в докллоки автономных функций - Я бы использовал теги @since только для API-уровня классов и методов

Было бы легко чрезмерно использовать эти теги и, следовательно, сделать поддержание значений тегов кошмарным.

...