You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Phil Steitz <ph...@steitz.com> on 2003/06/01 20:59:17 UTC
[math] Proposed initial content for Guidelines in developer.xml
Here is a draft that I was preparing to submit as a patch to
developer.xml; but given that some of the content may be controversial,
I thought it best to post to the list first for discussion. This is
just a start. I just wanted to get something out there to build on. I
will submit as a patch if there are no major objections.
<section name='Guidelines'>
<p>
Developers are asked to comply with the following development
guidelines. Code that does not comply with the guidelines including
the word <i>must</i> will not be committed. Our aim will be to fix
all of the exceptions to the "<i>should</i>" guidelines prior to a
release.
</p>
<subsection name='Coding Style'>
<p>
Commons-math follows <a href="http://java.sun.com/docs/codeconv/">
Code Conventions for the Java Programming Language</a>. As part of
the maven build process, style checking is performed using the
checkStyle plugin, using the properties specified in
<code>checkStyle.properties</code>.
Committed code <i>should</i> generate no checkStyle errors.
</p>
</subsection>
<subsection name='Documentation'>
<ul>
<li>
Committed code <i>must</i> include full javadoc.</li>
<li>
All component contracts <i>must</i> be fully specified in the
javadoc class,interface or method comments, including
specification of acceptable ranges of values, exceptions or
special return values.</li>
<li>
References to definitions for all mathematical
terms used in component documentation <i>must</i> be provided,
preferably as HTML links.</li>
<li>
Implementations <i>should</i> use standard algorithms and
references to algorithm descriptions <i>should</i> be provided,
preferably as HTML links.</li>
</ul>
</subsection>
<subsection name='Unit Tests'>
<ul>
<li>
Committed code <i>must</i> include unit tests.</li>
<li>
Unit tests <i>should</i> provide full path coverage. </li>
<li>
Unit tests <i>should</i> verify all boundary conditions specified
in interface contracts, including verification that exceptions
are thrown or special values (e.g. Double.NaN, Double.Infinity)
are returned as expected. </li>
</ul>
</subsection>
</section>
Phil
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org