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)
SEAL DEVELOPMENT STANDARDS
Help
Each application must conribute help to the online help system.
(Paul, how did you enter Help for the online model?)
Error reporting
Plugins must report error messages through the edu.stanford.slac.err package API.
Recommended steps for deploying new plugin
- Increment the version of your plugin.
- Check out from CVS the features that contain your plugin.
- Increment the version of each feature.
- Export features to SEAL update site.
- Check out the "update.seal" project from CVS.
- Update the versions of the features in site.xml.
- Export site.xml to SEAL update site.
- Start SEAL in "admin"- mode.
- Update SEAL.
- Build JavaDoc.
- Remove old features from SEAL update site.
- Commit all changes to CVS.
- Reload the your Plug-in Development target.
- Remove all unnecessary projects from your workspace.