My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
DevelopmentGuidelines  

Featured
Updated Nov 10, 2010 by joshuajr...@gmail.com
  1. The project has two outputs - a CLR version and a Silverlight version. All code must compile for both.
  2. Every patch must have unit tests and those tests must provide 100% coverage.
  3. Tests are divided into three categories:
    • Unit - the class under test is completely isolated by use of stubs or mocks.
    • Integration - classes tested together.
    • Functional - 'real life' tests and documentation.
  4. Every new class must have a 'unit' test fixture at least.
  5. Add integration tests when necessary to do so.
  6. For new features or changes to existing features use the functional tests project for high level real world tests and to serve as simple documentation for users.
  7. Any new tests must follow this naming convention:
  8. MethodName_Scenario_Expectation()
  9. Every class must have an interface and must be injected through constructor arguments.
  10. Every class must have a single responsibility.
  11. Every new test must be in Arrange Act Assert form. If touching an existing test in record/replay, convert it to AAA syntax unless it is too time consuming.
  12. The "Foo Bar" convention is not permitted anywhere
  13. American English spellings should be used not British English

Sign in to add a comment
Powered by Google Project Hosting