Differences between revisions 2 and 3
Revision 2 as of 2005-02-11 02:11:05
Size: 1431
Comment:
Revision 3 as of 2007-12-27 07:19:30
Size: 2149
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Coding Standards for Java Code in Jython ==
When in doubt follow the Sun Java standards:
== Python Code ==
Line 4: Line 3:
http://java.sun.com/docs/codeconv/ In general, follow [http://www.python.org/dev/peps/pep-0008/ PEP 8]. When importing Java code, always use fully qualified class names, not package names ie ``from java.lang import String`` instead of ``from java import lang``.

== Java Code ==

 * Javadoc on any publicly exposed method or field.
 * 4 spaces for indentation, no tabs.
 * No nested ternary statements.
 * A luxurious 100 characters per line.
 * No copy and pasted, repeated code: if you're doing the same thing twice, make a method.
 * Braces on all loops and if else statements.
 * Method longer than 10 lines should have whitespace and comments describing each of the sections, though perhaps they should also be broken up into submethods.
 * Descriptive names for fields and methods.

Beyond these rules, follow the [http://java.sun.com/docs/codeconv/ Sun Java standards].
Line 15: Line 28:
 * @author Firstname Lastname

Python Code

In general, follow [http://www.python.org/dev/peps/pep-0008/ PEP 8]. When importing Java code, always use fully qualified class names, not package names ie from java.lang import String instead of from java import lang.

Java Code

  • Javadoc on any publicly exposed method or field.
  • 4 spaces for indentation, no tabs.
  • No nested ternary statements.
  • A luxurious 100 characters per line.
  • No copy and pasted, repeated code: if you're doing the same thing twice, make a method.
  • Braces on all loops and if else statements.
  • Method longer than 10 lines should have whitespace and comments describing each of the sections, though perhaps they should also be broken up into submethods.
  • Descriptive names for fields and methods.

Beyond these rules, follow the [http://java.sun.com/docs/codeconv/ Sun Java standards].

Example (adapted from Sun document)

package org.jython.blah;

import org.jython.blah.BlahBlah;

/**
 * Class description goes here.
 */
public class Blah extends SomeClass {
    /* A class implementation comment can go here. */

    /** classVar1 documentation comment */
    public static int classVar1;

    /** 
     * classVar2 documentation comment that happens to be
     * more than one line long
     */
    private static Object classVar2;

    /** instanceVar1 documentation comment */
    public Object instanceVar1;

    /** instanceVar2 documentation comment */
    protected int instanceVar2;

    /** instanceVar3 documentation comment */
    private Object[] instanceVar3;

    /** 
     * ...constructor Blah documentation comment...
     */
    public Blah() {
        // ...implementation goes here...
    }

    /**
     * ...method doSomething documentation comment...
     */
    public void doSomething() {
        // ...implementation goes here... 
    }

    /**
     * ...method doSomethingElse documentation comment...
     * @param someParam description
     */
    public void doSomethingElse(Object someParam) {
        // ...implementation goes here... 
    }
}

CodingStandards (last edited 2018-03-31 19:06:54 by JeffAllen)