2008-08-27 12 views
31

Ich habe eine große Codebase ohne Javadoc, und ich möchte ein Programm ausführen, um ein Skelett mit den grundlegenden Javadoc-Informationen zu schreiben (zB für jede Methode Parameter @param schreiben ...), also muss ich nur füllen Sie die Lücken links.Javadoc Vorlagengenerator

Wer kennt eine gute Lösung dafür?

Edit:

JAutodoc ist das, was ich suchte. Es hat Ant-Aufgaben, ein Eclipse-Plugin, und verwendet Velocity für die Template-Definition.

Antwort

37

Die JAutodoc Plugin für Eclipse tut genau das, was Sie brauchen, aber mit einem Paket Granularität:

Recht auf ein Paket klicken, wählen Sie „Add javadoc für Mitglieder ...“ und das Skelett hinzugefügt werden.

Es gibt zahlreiche interessante Möglichkeiten: Vorlagen für javadoc, a todo in der Kopfzeile jeder Datei hinzufügen den Worten: „Vorlage javadoc, die ausgefüllt werden müssen ...“ usw.

+1

Ich habe die Dokumentation dieses Plug-Ins gelesen. Es bietet sehr automatisierte Möglichkeiten, JavaDoc-Kommentare zu Ihren Methoden, Variablen, Parametern usw. hinzuzufügen. Aber wenn Sie die automatisch generierten Kommentare nicht bearbeiten, um sie zu machen " Beste Erklärung ", es ist nicht mehr als viele Zeilenrauschen in Ihrem Code ... – Taner

2

Wenn Sie mit der rechten Maustaste auf die Quelle einer Datei in Eclipse klicken, wird im Quellenmenü eine Javadoc-Generierungsoption angezeigt.

+1

Ich sehe es unter dem Quelle-Menü nicht, gibt es eine Einstellung, die ich fehle? – Joe

+1

Ich weiß es nicht - es war immer für mich da :( – Silas

+2

Für mich ist es Quelle -> Element generieren Kommentar – Victor

4

Sie Eclipse Warnungen anzuzeigen konfigurieren für Dinge, denen Javadoc fehlt, oder Javadoc haben, die nicht alle Informationen haben oder falsche Informationen haben. Es kann auch Vorlagen zum Ausfüllen einfügen.

Nicht ganz das Tool, nach dem Sie gefragt haben, aber wahrscheinlich besser, weil Sie nicht mit leeren Skeletten auf Methoden enden werden, die Sie verpasst haben.

Sie können dies erreichen, indem Sie die Einstellungsseite über den Pfad Fenster> Voreinstellungen> Java> Compiler> Javadoc für Ihren Arbeitsbereich untersuchen und bearbeiten. Der Screenshot dieser Einstellungsseite unter:

The so-called Javadoc preference page

Für weitere Informationen über die in diesem Bildschirm folgen Sie bitte den unten stehenden Link:

Java Compiler Javadoc Preferences Help

+0

Wie konfigurieren Sie das? – Joe

+0

Sie vergessen zu erwähnen, wie dies aktiviert ist. Wie erhalten Sie diese Funktion? – trusktr

+0

Screenshot und weitere Informationen hinzugefügt. – Taner

21

Ich denke, Auto-Erzeugung leer Javadoc ein Anti-Muster und sollte entmutigt werden; es gibt dem Code den Anschein, dokumentiert zu sein, fügt der Codebasis jedoch nur Rauschen hinzu.

Ich würde stattdessen empfehlen, dass Sie Ihren Code-Editor zu pro-Methode und pro-Klasse-Basis zu verwenden, wenn Sie tatsächlich schreiben die Javadoc (ein Kommentator wies auf Eclipse-Funktion, die dies tut) zu konfigurieren.

+0

Kannst du erklären, wie man pro Methode, pro Klasse, wie du es erwähnt hast, etwas aufsetzt? – trusktr

+1

Leute hier zeigen an, dass es ein Fea ist der Eclipse. Ich Code (Ed) Java mit vim, die ziemlich konfigurierbar ist - Sie machen nur ein Makro, das, wenn auf einer Methode oder Klasse Name, die Javadoc Boilerplate zum Ausfüllen hinzugefügt. Ehrlich gesagt, jedoch, tippen Sie einen Schrägstrich und ein Sternchen nicht wirklich der Engpass zum Schreiben guter Dokumentation – davetron5000

10

Sie können auch Sie den Cursor auf der Zeile über ein Verfahren legen Sie JavaDoc möchten, dann geben Sie:

/** 

und drücken Sie die Eingabetaste. Dies erzeugt Ihren JavaDoc-Stub.

+3

Alt + Shift + J –

+3

Auf einem Mac ist es ⌘-alt-J –

2

Wählen Sie die Methode dass Sie Javadoc und alt hinzufügen möchten + Umschalt +j, erstellt automatisch die javadoc Kommentar.

Beispiel:

/** 
    * @param currDate 
    * @param index 
    * @return 
    */ 
    public static String getAtoBinary(String currDate, int index){ 
     String HourA = "0"; 
     try{ 
      String[] mydate = currDate.split("/"); 
      HourA = mydate[index].substring(1, 2); 
     }catch(Exception e){ 
      Log.e(TAG, e.getMessage()); 
     } 
     return HourA; 
    }