Title: Coding Standards
Please see http://www.apache.org/legal/src-headers.html for details of the following summary.
Apache does not require you to assign ownership or copyright for any patches that you submit via the above process. You retain ownership for all such patches. But Apache does require you to grant Apache a license to use the patch. To do this for new files, do not include a copyright statement in the file but include this license as comments in the header of your source contribution - http://www.apache.org/legal/src-headers.html#headers If you require that distributions of the project include your copyright notice, you should include with your patch an update to the NOTICE file at
trunk/NOTICE.txt documenting for which files you are notifying your copyright.
Please see http://www.apache.org/licenses/ for details of the following summary.
All release artifacts published by an Apache project (JAR/WAR/EAR, zip, tar, ...) must include License and Notice files. A Disclaimer file must be included for any artifacts included form the incubator.
We try to adhere to Sun's Code Conventions for the Java Programming Language, which is available at http://java.sun.com/docs/codeconv/
Download the code formatter profile: bval-formatting-preferences.xml
Updated profile for Eclipse Galileo: bval-eclipse-galileo-formatting.xml
Download the code template profile: bval-code-style-template.xml
If you make changes to BVal, and would like to contribute them to the project, you should create a patch via svn and post it to the BVal JIRA issue tracker. To create a patch, simply execute the following command:
svn diff > your-changes.patch
Note: You may also use Eclipse to create a patch (Team -> Create Patch...), but this may require committers to modify the patch to match their project layout (workspace per branch or all branches in one workspace) and some committers may not be using Eclipse/Subclipse.
When we make a change or introduce a new feature, it's generally good practice to include a JUnit testcase which demonstrates the desired behavior.
The testcase should be self validating via JUnit assertions. Writing messages to
System.out or extraneous logging is discouraged; they lead to the impression that some manual interpretation of the results must be done. Messages like these are useful when developing the tests or when diagnosing problems but should either be included as
TRACE level logging or not be committed.