Skip to content
Don Mendelson edited this page Oct 4, 2016 · 4 revisions

Contributions to the Silver Flash project are welcome. They must conform to code style standards and be consistent with the project roadmap. All contributed implementation code must be accompanied by unit tests that demonstrate the proposed enhancement or defect resolution. Contributions of behavioral and performance tests are especially welcome.

Code Style

The style standard for this project is Google Java Style

Code formatters for popular IDEs are available in project google/styleguide

The Checkstyle tool has a profile for Google style.

I have noticed some discrepancies between Checkstyle and code formatter regarding indention level. Nevertheless, it important that indention be created with two spaces rather than tabs.

Fluent Interface

Classes with many attributes should follow the Fluent Interface style.

Dependency Injection

No dependency injection framework is used. Rather, when many attributes must be set to form a viable object, use a dedicated Builder with fluent interface and inject the Builder into the object's constructor.

Generated Code

Code for message classes is generated in the generate-sources phase of the Maven build into folder target/generated-sources.

Project Modules

The silverflash-core module should have minimal dependencies and contain the code needed for all applications that use FIXP. Add-ons such as particular a data store implementation for message recovery should be organized as separate modules so they do not impose dependencies on applications that don't use them.

Clone this wiki locally