2012-01-02 2 views
6

J'utilise BlueJ et je voudrais générer le Javadoc de tout mon projet. Je voudrais montrer des méthodes privées sur le Javadoc, y at-il un moyen de le faire? BlueJ a un outil qui fait le Javadoc, mais BlueJ ignore les méthodes privées. Est-ce juste une convention? Si c'est une convention, je ne comprends pas pourquoi, ils ignorent les méthodes "internes", ils sont aussi utiles -.- *JAVADOC pour les méthodes privées (BlueJ)

Répondre

5

This link suggère que BlueJ ne génère que JavaDocs pour les méthodes et les classes publiques. Plus précisément:

votre sortie ne contiendra que des informations sur les méthodes et variables publiques

Cependant, selon cette bug report liée à l'Andrew Thompson's answer, il semble que cela a été corrigé dans la version 1.1.5 de BlueJ . En fait, selon la section 9.8 du BlueJ Reference Manual, vous pouvez spécifier exactement les options à utiliser lors de l'exécution de l'outil JavaDoc en modifiant la propriété doctool.options.

Il semble y avoir 3 propriétés qui contrôlent le comportement de génération de documentation:

  • doctool.command: commandes quelle commande est utilisée pour produire de la documentation, et par défaut est réglé sur javadoc
  • doctool.outputdir: contrôles où générés La documentation est enregistrée et est définie par défaut sur doc
  • doctool.options: contrôle les autres options de ligne de commande transmises à la commande spécifiée par javadoc.command et est définie par défaut à -author –version –nodeprecated –package. Notez qu'en remplaçant -package par -private vous pouvez documenter toutes les méthodes.

En général, étant donné que l'outil JavaDoc est un programme de ligne de commande, vous pouvez simplement appeler vous-même à partir de la ligne de commande avec quelque chose comme ceci:

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

Remarque, cette commande suppose que le javadoc est inclus dans votre variable d'environnement PATH, ce qui est généralement le cas dans la plupart des installations java.

  • L'option -d donne le répertoire de sortie souhaité
  • L'option -sourcepath indique à l'outil JavaDoc où trouver le code source pour documenter
  • L'option -private indique à l'outil JavaDoc pour créer la documentation pour toutes les classes, les membres , et les méthodes (comme privées est la visibilité la plus restreinte)

la liste complète des options qui contrôlent les membres qui Javadoc document est:

  • -public - Affiche uniquement les classes publiques et les membres.
  • -protected - Affiche uniquement les classes et membres protégés et publics. C'est la valeur par défaut.
  • -package - Affiche uniquement les classes et les membres de package, protected et public.
  • -private - Affiche toutes les classes et tous les membres.

(tiré du JavaDoc Documentation)

EDIT 0: réponse Mise à jour pour intégrer de nouvelles informations mis à jour par Andrew Thompson

+0

Merci pour l'info, joliment organisé;) Lien très intéressant que vous mettez sur Javadoc & BlueJ, très utile! – Thorba

+0

Merci pour les commentaires et la réponse acceptée :) – chrisbunney

3

Généralement par convention les gens ne mettent pas de méthodes privées dans Javadoc parce que Javadoc est fait pour quelqu'un consommer votre code. Comme ils ne peuvent pas accéder à des méthodes privées, il est inutile de les documenter pour ce public.

Cependant, l'outil javadoc a un drapeau pour permettre ceci:

javadoc -private 

généreront des méthodes privées dans votre Javadoc. Je ne sais pas comment BlueJ fonctionne avec ça, mais peut-être que vous pouvez passer un drapeau ou quelque chose comme ça.

+0

Merci beaucoup, je ne savais pas que je pourrais utiliser javadoc sur la console comme une commande, je suis un débutant :( – Thorba

+1

À moins que cette personne consommant votre code est un autre développeur qui doit maintenir/étendre le code que vous avez écrit ;) – chrisbunney

+0

@chrisbunney Ensuite, les méthodes ne devraient pas être privées si elles sont destinées à être étendues ou utilisées par des sous-classes. Dans le cas de la maintenance, ils auraient le code et pourraient lire ses commentaires au format Javadoc, ils ne seraient tout simplement pas dans la Javadoc au format HTML. Nous ne parlons pas de laisser de côté les commentaires, mais de ne pas les mettre dans les documents d'API généralement créés par Javadoc. Mais je vois votre point! – Todd

3

Le lien dans la réponse acceptée est d'un article écrit en 2001. Beaucoup a changé depuis.

E.G. La recherche dans les 5 meilleurs liens pour 'bluej + javadocs' inclut un lien vers quelque chose qui mentionne le rapport de bogue à allow inclusion of private methods in javadoc. La description mentionne:

marque définie par l'utilisateur des paramètres javadoc (en bluej.defs) afin que les utilisateurs doivent possibilité d'inclure des méthodes privées dans la documentation

est mentionne également:

Resolution:  FIXED 

Note: Je n'utilise pas BlueJ, mais j'ai dû partir à la chasse quand j'ai entendu la réponse incroyable qu'un IDE majeur n'a pas la capacité d'offrir une configuration aussi simple e chose.

+0

Je n'avais jamais entendu parler de BlueJ, donc je n'y ai pas vraiment réfléchi à deux fois, +1 pour la chasse plus complète que moi :) – chrisbunney