The developers guide is open to a change procedure; if we want to make that a 
minimum standard. Indeed since the developers guide needs a bit of love; 
perhaps we could ask for a stay of execution; and just do quick votes on the 
email list here?

Personally my bare minimum is a single sentence class javadoc. And yes I agree 
for anything that is considered api (such as gt-opengis or gt-api module that 
we should expect a lot more :-D ).

Looks like you are done your hacking on the @source tag fixer; did the work go 
well? Do you want to run it on gt-opengis and gt-api for me tomorrow?
--
Jody Garnett

On Tuesday, 24 May 2011 at 12:30 AM, Michael Bedward wrote: 
> Thanks Jody. Although there are no javadoc minimum standards I wonder
> if it would be ok to add some encouragement for people to have
> javadocs for at least the most important public methods in a class. It
> makes such a difference :)
> 
> I've updated the page for the new InsertSourceTag usage.
> 
> Michael
> 
> On 23 May 2011 19:55, Jody Garnett <[email protected]> wrote:
> > Based on the conversation from about the @source tag; I have added some
> > javadocs recommendations to the developers guide.
> > http://docs.geotools.org/latest/developer/guide/conventions/code/style.html
> > (And stolen a live code example from SimpleFeatureType which seems to
> > illustrate all the points).
> > 
> > Can I ask for a review of the following; any pet javadocs peeves feel free
> > to add to that page.
> > 
> > Javadocs
> > 
> > The project does not have any minimum standards for javadocs; so it is not
> > something that will cause you to fail a code review.
> > 
> > Here is an example javadoc to use as a reference for the following
> > conversation:
> > 
> > /**
> >  * An instance of {@link SimpleFeatureType} composed of fixed list values in
> > a known order.
> >  * <p>
> >  * The definition of a "simple feature" can be summed up as the following:
> >  * <ul>
> >  * <li>made up of only non-complex attributes, no associations
> >  * <li>attributes are of multiplicity 1
> >  * <li>attributes are ordered
> >  * <li>attribute names are unqualified (namespaceURI == null)
> >  * </ul>
> >  * </p>
> >  * <p>
> >  * <h3>Attribute Access</h3>
> >  * The order and multiplicity restrictions on simple feature make attribute
> >  * values accessible via an index. For example consider the following
> > shapefile
> >  * entry:
> >  * <pre>
> >  * | GEOMETRY | INT | STRING |
> >  * | POINT(0 0) | 0 | "zero" |
> >  * </pre>
> >  * Accessing attributes via index would look like:
> >  * <pre>
> >  * SimpleFeature feature = ...;
> >  *
> >  * Geometry g = (Geometry) feature.getAttribute( 0 );
> >  * Integer i = (Integer) feature.getAttribute( 1 );
> >  * String s = (String) feature.getAttribute( 2 );
> >  * </pre>
> >  * One could also access by name:
> >  * <pre>
> >  * SimpleFeature feature = ...;
> >  *
> >  * Geometry g = (Geometry) feature.getAttribute( "GEOMETRY" );
> >  * Integer i = (Integer) feature.getAttribute( "INT" );
> >  * String s = (String) feature.getAttribute( "STRING" );
> >  * </pre>
> >  * </p>
> >  * <p>
> >  * <b>Note:</b> Attribute access via getAttribute() methods returns
> > attribute
> >  * values, and not the attributes themselves. For access to the actual
> > attributes
> >  * {@link ComplexAttribute#getProperty(String)} can be used.
> >  * </p>
> >  *
> >  * @see SimpleFeatureType
> >  *
> >  * @author Jody Garnett (LISAsoft)
> >  * @author Justin Deoliveira (The Open Planning Project)
> >  * @since 2.5
> >  * @version 8.0
> >  * @source
> > $URL:http://svn.osgeo.org/geotools/trunk/modules/library/opengis/src/main/java/org/opengis/feature/simple/SimpleFeature.java
> > $
> >  */
> > 
> > We do encourage developers to:
> > 
> > Have “topic sentence” for each class (to help IDE developers understand what
> > the class is). (This is a reminder of normal javadoc convention).
> > 
> > Use <pre> for any code examples (This is a reminder of normal javadoc
> > convention).
> > 
> > Use @author tags to credit individuals involved, you can credit their
> > organisation in brackets
> > 
> > Use @since to list the version number in which the interface first appeared
> > 
> > Update @version annotation if the interface is ever modified
> > 
> > We have a custom @source annotation to help our javadocs look pretty (and
> > reference the appropraite module).
> > 
> > The taglet code discards $URL: $ if you would like to use svn to expand the
> > correct path as needed.
> > 
> > There is a tool you can use to fill in the @src annotation.
> > 
> > To insert missing source tag in all source files for module gt-wps.:
> > 
> > cd trunk/build/maven/javadoc
> > mvn exec:java -Dexec.mainClass=org.geotools.maven.tools.InsertSourceTag
> >  -DcommandlineArgs=../../modules/unsupported/wps/src
> > 
> > If you are using svn expansion you can set the svn:keyword expansion up:
> > 
> > find ../modules/unsupported/wps/src -type f -name '*.java' -exec svn ps
> > svn:keywords "Id URL" {} \;
> > 
> > If you would like to include any diagrams or pictures please add them to
> > a doc-files folder. (This is a reminder of normal javadoc convention).
> > 
> > ------------------------------------------------------------------------------
> > What Every C/C++ and Fortran developer Should Know!
> > Read this article and learn how Intel has extended the reach of its
> > next-generation tools to help Windows* and Linux* C/C++ and Fortran
> > developers boost performance applications - including clusters.
> > http://p.sf.net/sfu/intel-dev2devmay
> > _______________________________________________
> > Geotools-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/geotools-devel
> 
------------------------------------------------------------------------------
What Every C/C++ and Fortran developer Should Know!
Read this article and learn how Intel has extended the reach of its 
next-generation tools to help Windows* and Linux* C/C++ and Fortran 
developers boost performance applications - including clusters. 
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to