this is a german Web-Mirror of PYTHON.ORG powered by Domainunion AG

Differences between revisions 6 and 8 (spanning 2 versions)
Revision 6 as of 2007-12-27 07:27:51
Size: 2343
Comment:
Revision 8 as of 2007-12-30 02:26:38
Size: 2357
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:

In general, follow [https://python.domainunion.de/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.  
In general, follow [https://python.domainunion.de/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.
Line 8: Line 7:
Line 14: Line 12:
 * 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 be broken up into submethods instead.
 * Braces on all loops and if else statements
 * A space an if and its parenthesis ie `if (` instead of `if(`
.
 * Methods longer than 10 lines should have whitespace and comments breaking them up into coherent operations.
Line 17: Line 16:
 * No @author tags in code.  * No `@author` tags in code.
Line 19: Line 18:
 * Fields at the top of the class.
Line 22: Line 22:
Line 25: Line 24:
Line 27: Line 25:
Line 29: Line 26:
Line 35: Line 31:
Line 38: Line 33:

/** 
    /**
Line 44: Line 38:
Line 47: Line 40:
Line 50: Line 42:
Line 53: Line 44:

/** 
    /**
Line 60: Line 50:
Line 65: Line 54:
        // ...implementation goes here...          // ...implementation goes here...
Line 67: Line 56:
Line 73: Line 61:
        // ...implementation goes here...          // ...implementation goes here...
Line 76: Line 64:
}}}  }}}

When contributing code or patches to Jython, please try to follow these guidelines.

Python Code

In general, follow [https://python.domainunion.de/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
  • A space an if and its parenthesis ie if ( instead of if(.

  • Methods longer than 10 lines should have whitespace and comments breaking them up into coherent operations.
  • Descriptive names for fields and methods.
  • No @author tags in code.

  • Any field on an object that isn't modified after construction should be final.
  • Fields at the top of the class.

Beyond these rules, follow the [https://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)