Prism Contrib Coding Guidelines
Contributors should check back to this page often as these guidelines will likely evolve based on customer input and team discussions.
All code in this project should live under the PrismContrib
- WPF extensions should live under PrismContrib.WPF
- Tests should live under PrismContrib.WPF.Tests
- Regions should live under PrismContrib.WPF.Regions
- Commands should live under PrismContrib.WPF.Commands
- Services should live under PrismContrib.WPF.Services
- Interfaces should live under PrismContrib.WPF.Interfaces
- Containers shoud live under PrismContrib.WPF.Containers
- Automation should live under PrismContrib.WPF.Automation
- Guidance packages should live under PrismContrib.WPF.Automation.GP
- Snippets should live under PrismContrib.WPF.Automation.Snippets
- Samples should live under PrismContrib.Samples
- All Silverlight-specific extensions should live under
PrismContrib.Silverlight using the same child namespaces as for WPF
Prism Contrib projects should reference Microsoft signed
copies of Enterprise Library and Prism assemblies for consistency. However it should be easy for consumers of the code to recompile against unsigned or custom signed copies of the assemblies.
All code will live under the Trunk
- Samples will live under $/Trunk/Samples
- WPF Extensions will live under $/Trunk/src/WPF
- Silverlight Extensions will live under $/Trunk/src/Silverlight
All contributed code should have high unit test coverage, and the unit tests should be checked into the appropriate place in the code tree.
Documentation and Samples
All submitted extensions should include basic documentation explaining the intended usage scenarios, the available configuration options (if applicable) and the API (if applicable). The documentation should be posted on this CodePlex site in the
section. Samples or QuickStarts demonstrating the use of an extension can be checked into the Samples section of the source control if appropriate.