Size: 2343
Comment:
|
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... } }