Design

  1. Documents
    • Requirements
  2. UML

Implementation

Java

  1. Coding standards
  2. CVS
  3. Exception handling
  4. I18N & L10N aka G11N
  5. Preferences
    • Defaults
  6. Third-party libraries
  7. UI

Other languages

Testing

  1. Target
  2. Unit tests

Documentation

  1. Comments
  2. Help

Release

  1. Plugin
  2. Feature
  3. Product




Implementation


Java Coding Standards

http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

Additional standards:

  • Package names start with edu.stanford.slac.

Java Exception Handling

  • You should never throw/catch a generic exception (an instance of Exception, Throwable, or Error).
  • Exceptions resulting from AIDA/EPICS data errors should be logged via Err.

Java G11N Practices


Eclipse UI Best Practices

http://wiki.eclipse.org/index.php/UI_Best_Practices_v3.x





Documentation


JavaDoc Guidelines

http://java.sun.com/j2se/javadoc/writingdoccomments/index.html

Additional guidelines:

  • All fields and methods (incl. those that are private) should have JavaDoc comments.
  • You should generate links to external JavaDoc (see here).

Testing


Testing Against Target

All software must be tested against SEAL target.





Release


How To Release A New Plugin

  • Reset target to DEFAULT.
  • Check out all SEAL/CSS plugin projects from CVS.
  • Build product using "seal.applications" (note: the order of the features matters!)
  • Test your product.
  • Copy the product to /afs/slac/g/lcls/physics/seal.new/product and update the "current" link.
  • Build JavaDoc. (optional)
  • Commit all changes to CVS.
  • Reload your Plug-in Development target.
  • Remove all unnecessary projects from your workspace.
  • No labels