Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / August 2007

Tip: Looking for answers? Try searching our database.

JavaDoc Style Question

Thread view: 
Roedy Green - 07 Aug 2007 18:04 GMT
How do you do the JavaDoc for methods of this form:

/**
        * get bold version of description.
        *
        * @param desc description of this link.
        *
        * @return bold version of description.
        */
       private static String bold( String desc )
           {
           return "<b>" + desc + "</b>";
           }

There should be some standard way of doing them that does not have
redundant wording.  I almost think such method don't deserve JavaDoc
at all. The JavaDoc on getters almost never tells you anything useful.
The docs come out like some old Monty Python sketch based on
belabouring the obvious.

Signature

Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com

Stefan Ram - 07 Aug 2007 18:23 GMT
>         * get bold version of description.
>         * @return bold version of description.
>There should be some standard way of doing them that does not have
>redundant wording.  I almost think such method don't deserve JavaDoc

 It's the law:

     »Omit @return for methods that return void and for
     constructors; include it for all other methods, even if
     its content is entirely redundant with the method
     description.«

http://java.sun.com/j2se/javadoc/writingdoccomments/index.html

 Also, you should use »gets« instead of »get«:

     »Use 3rd person (descriptive) not 2nd person (prescriptive).
     The description is in 3rd person declarative rather than
     2nd person imperative.
     Gets the label. (preferred)
     Get the label. (avoid)«

http://java.sun.com/j2se/javadoc/writingdoccomments/index.html

 I am using a preprocessor, so I might write

$define RESULT bold version of description

* get RESULT
* @return RESULT

 But I do not actually do this. The preprocessor, would
 be nicer, if one could write:

* get »bold version of description« (=»RESULT«)
* return RESULT

 To get the preprocessor output:

* get bold version of description
* return bold version of description

 Or, even better, a two-pass preprocessor

* get NEXT-RESULT
* return »bold version of description« (=»RESULT«)
Lew - 07 Aug 2007 23:09 GMT
>   I am using a preprocessor, so I might write
>
> $define RESULT bold version of description
>
> * get RESULT
> * @return RESULT

I sort of like the Javadoc redundancy.

IDEs like NetBeans and, IIRC, Eclipse, let you edit the templates for the
auto-generation of new classes and property accessor methods.  So I added
boilerplate Javadoc in my IDE's accessor template that covers roughly four out
of five attribute declarations, with minor editing for the rest.  Now all the
effort is pushed off onto those reading the Javadocs instead of me.

If I preferred, say, Thomas's style for Javadocs I'd edit the templates
according to it instead.

I also put version-control meta-information (e.g., "$Id$") in my boilerplate
comments for new classes.

Signature

Lew

Thomas Hawtin - 07 Aug 2007 18:27 GMT
> How do you do the JavaDoc for methods of this form:

I would probably write it as:

    /**
     * Returns bold version of {@code description}.
     */
    private static String bold(String description) {
        return "<b>" + description + "</b>";
    }

Possibly, or even probably, I might add the @param, but I don't think it
helps much. There is form in the Sun API docs for using "Returns..." as
the description and missing out the @return, IIRC.

> There should be some standard way of doing them that does not have
> redundant wording.  I almost think such method don't deserve JavaDoc
> at all. The JavaDoc on getters almost never tells you anything useful.

javadocs do tend to include significant quantities pointlessness.
Pointless documentation is far worse than no documentation at all. It's
like the interactive "help" that gives help on a button labeled X by
saying "This button does X."

Of course removing getters and setters by better use of encapsulation
removes a good chunk of the problem.

Tom Hawtin
RedGrittyBrick - 07 Aug 2007 20:55 GMT
> ... removing getters and setters by better use of encapsulation ...

I tend to trip over phrases like this and then sit and wonder "WTF does
Thomas mean?"

I thought getters and setters *were* part of a better use of
encapsulation (as compared with exposing properties say).
Thomas Hawtin - 10 Aug 2007 03:37 GMT
> I thought getters and setters *were* part of a better use of
> encapsulation (as compared with exposing properties say).

They're a sticking plaster over bad design. Yeah, there are some things
you can do over exposed fields (chiefly validation), but one is still
defining the type in terms of fields instead of coherent operations.

It's like singletons making people feel better about static variables,
whilst only adding obscurity.

Tom Hawtin


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.