Coding Conventions

JPF is an open system. In order to keep the source format reasonably consistent, we strive to keep the following minimal set of conventions

The following code snippet illustrates these rules.

/* <copyright notice goes here>
 * <license referral goes here>
 */

/**
 * this is my class declaration example
 */
    
public class MyClass {
   
  /**
   * this is my public method example
   */
  public void foo (int arg1, int arg2,
                   int arg3) {
    if (bar) {
      ..
    } else {
      ..
    }
  }
   ..
}

For convenience reasons, we include a jalopy.xml configuration file to format sources, but do not support it as a separate Ant target, to avoid accidental reformatting of a huge amount of CVS sources, and minimize dependencies for libraries required by the build process.

We consider modularity to be of greater importance than source format. With its new configuration scheme, there is no need to introduce dependencies of core classes towards optional extensions anymore. If you add something that is optional, and does not seamlessly fit into an existing directory, keep it separate by adding new directories. The core JPF classes should not contain any additional dependencies to external code.