Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Anchor
anonymoussvn
anonymoussvn

Anonymous SVN (Subversion)

The JANINO code repository is accessible through anonymous SVN. You have to check out the following projects:

Optional:

Anchor
contributing
contributing

Contributing

If you want to contribute (i.e. commit files to the JANINO code repository), turn to me.

Anchor
guidelines
guidelines

Guidelines

The following guidelines must be obeyed by all contributors.

Coding

Stick to the existing formatting style:

  • Always use four blanks to indent. NEVER use TABs.
  • Fold long lines like this:

    Code Block
    return (
        this.getClassName()
        + '$'
        + ++this.localClassCount
        + '$'
        + localTypeName
    );
    
  • Long lines of code are not a shame if they are properly folded and thus perfectly readable.
  • If a piece of code is used only once, don't put it in a method.
  • If a piece of code is used more than once, put it in a method.
  • Prefer simple techniques over elegant, but complicated ones. E.g. don't define complex type hierarchies if a simple alternative exists.
  • Don't comment the obvious.
  • Comment everything that is not obvious. E.g., comment briefly what the following ten complex lines of code do. Write useful JAVADOC for every public class and member.
  • Don't make changes unless there is a good reason. E.g. don't reformat portions of code. Keep in mind that someone someday has to merge this code.
Version Control
  • Be careful when committing. Know SVN; know what you're doing. Commit only code that compiles and works.
  • Never commit into the main branch; this is the despot's domain!
  • Discuss with the despot before creating branches.
  • Write unit tests for everything you code. "tests/src/EvaluatorTests.java" is a good starting point.
  • Use the existing unit tests to verify that you didn't break anything - run "AllTests".