JAVADOC для частных методов (BlueJ) - PullRequest
6 голосов
/ 02 января 2012

Я использую BlueJ и хочу создать Javadoc для всего моего проекта.Я хотел бы показать частные методы на Javadoc, есть ли способ сделать это?BlueJ имеет инструмент, который делает Javadoc, но BlueJ игнорирует частные методы.Это просто соглашение?Если это соглашение, я не понимаю почему, они игнорируют «внутренние» методы, они тоже полезны -.- *

Ответы [ 3 ]

5 голосов
/ 02 января 2012

Эта ссылка предполагает, что BlueJ будет генерировать JavaDocs только для открытых методов и классов. В частности:

ваш вывод будет содержать только информацию об открытых методах и переменных

Однако, согласно этому сообщению об ошибке , связанному с Ответ Эндрю Томпсона , похоже, это было исправлено в версии 1.1.5 BlueJ. Фактически, согласно разделу 9.8 Справочного руководства BlueJ , вы можете указать точно , какие параметры использовать при запуске инструмента JavaDoc, отредактировав свойство doctool.options.

Кажется, есть 3 свойства, которые управляют поведением генерации документации:

  • doctool.command: определяет, какая команда используется для генерации документации, и по умолчанию установлена ​​на javadoc
  • doctool.outputdir: контролирует, где сгенерированная документация сохраняется и по умолчанию установлена ​​на doc
  • doctool.options: управляет другими параметрами командной строки, передаваемыми команде, указанной в javadoc.command, и по умолчанию имеет значение -author –version –nodeprecated –package. Обратите внимание, что заменив -package на -private, вы можете документировать все методы.

В общем, поскольку инструмент JavaDoc представляет собой программу командной строки, вы можете просто вызвать его самостоятельно из командной строки следующим образом:

$ javadoc -d \path\to\output\folder -sourcepath \path\to\source\folder -private

Обратите внимание, эта команда предполагает, что javadoc включен в переменную среды PATH, что обычно имеет место в большинстве установок Java.

  • Опция -d дает желаемый выходной каталог
  • Опция -sourcepath указывает инструменту JavaDoc, где найти исходный код для документа
  • Опция -private указывает инструменту JavaDoc создавать документацию для всех классов, членов и методов (поскольку конфиденциальность является наиболее ограниченной видимостью)

Полный список параметров, управляющих элементами, которые будет документирован в JavaDoc:

  • -public - Показывает только публичные классы и участников.
  • -protected - Показывает только защищенные и открытые классы и члены. Это значение по умолчанию.
  • -package - Показывает только пакеты, защищенные и открытые классы и члены.
  • -private - Показывает все классы и членов.

(взято из документации JavaDoc )

РЕДАКТИРОВАТЬ 0: Обновленный ответ для включения новой информации, раскрытой Эндрю Томпсоном

3 голосов
/ 02 января 2012

Ссылка в принятом ответе взята из статьи, написанной в 2001 году. С тех пор многое изменилось.

например. Поиск по 5 или около того ссылкам на «bluej + javadocs» включает ссылку на что-то, в котором упоминается сообщение об ошибке , позволяющее включить частные методы в javadoc . В описании упоминается:

делает параметры javadoc определяемыми пользователем (в bluej.defs), чтобы пользователи могли включать частные методы в документацию

Также упоминается:

Resolution:     FIXED 

Примечание: я не использую BlueJ, но мне пришлось пойти на охоту, когда я услышал невероятный ответ, что крупная среда IDE не может предложить конфигурацию такой простой вещи.

3 голосов
/ 02 января 2012

Как правило, люди не помещают частные методы в Javadoc, потому что Javadoc предназначен для тех, кто потребляет ваш код. Поскольку они не могут получить доступ к закрытым методам, нет смысла документировать их для этой аудитории.

Тем не менее, инструмент javadoc имеет флаг для включения этого:

javadoc -private

Будет генерировать приватные методы в вашем Javadoc. Я не уверен, как BlueJ работает с этим, но, возможно, вы можете передать флаг или что-то.

...