Design
- Documents
- Requirements
- UML
Implementation
Java
- Coding standards
- CVS
- Exception handling
- I18N & L10N aka G11N
- Preferences
- Defaults
- Third-party libraries
- UI
- Eclipse
- Other
Other languages
Testing
- Target
- Unit tests
Documentation
- Comments
- JavaDoc
- Other
- Help
Release
- Plugin
- Feature
- 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
- All meaningful strings should be externalized.
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.