wiki:DevelopersGuide/StyleGuide

Version 28 (modified by kolesar, 8 years ago) ( diff )

using curly brackets after if

Languages:

Development Guidelines

How your code should look like

  • make sure the code is Java 7 compatible
  • make sure there is no trailing white space
  • don't use multiple consecutive empty lines
  • JOSM uses 4 characters indentation and no tab stops (If you use Notepad++ you can change the default indentation in the "Preferences" -> "Tab Settings" -> check "Replace by spaces" (this is permanent) or with the "change indentation settings" button in the toolbar by removing the check at "use tabs" (this is a temopary setting).)
  • Document your code thoroughly. Many people will thank you :)
  • add curly brackets for each if, unless it is followed by return (or maybe throw)

How your javadoc should look like

  • The Oracle Javadoc style guide is used as the base guide
  • @since is used for public classes and methods (visible to plugin developers) with the JOSM revision that introduced the element. Example: @since 5408
    • @since is updated when a public method signature changes or if a class is renamed
    • @since can be omitted for public methods and fields introduced at the same time as the class, provided they do not have changed and the class is correctly documented.
  • @throws is preferred to @exception

Configuring Eclipse

Internationalization

  • make sure you use tr(...) for all localized strings
    import import static org.openstreetmap.josm.tools.I18n.tr;
    
    // use tr(...) for exception messages
    //
    throw new Exception(tr("error message always in tr()"));
    
    // use tr(...) for labels, title, tooltip texts and the like 
    //
    new JLabel(tr("Label always in tr()"));
    
    // etc.
    
  • never assemble localized messages with +. Use format placeholders instead.

DONT new JLabel(tr("My Label " + labelId));

DO new JLabel(tr("My Label {0}",labelId));

Only exception: + can be used to break long lines of non-variable texts.

  • When using apostrophe, the following rules apply:

For all tr the apostrophe is special. (Like backslash in C)
It needs to be escaped by another apostrophe:

new JButton(tr("Don''t press me more than {0} times!", n))


Back to Developers Guide

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.