All High Quality DSC Resource Modules must pass these guidelines and checks before a Pull Request is accepted. xWebAdministration is currently one of the main modules that we are trying to get to meet these guidelines.
Criterion | Details | Developer Story | Validation |
---|---|---|---|
PS Script Analyzer is clean |
|
If there are any rules that aren't passing they will show up as an error when the common tests are run. Any messages that show up as warning/flagged must be fixed, in a few cases they can be overridden with permission from a DSC team member. | PSSA errors are checked in the common tests. |
Unit and Integration Tests are functional and follow the guidelines |
|
Make sure unit tests test specific functionality of the resource and that as much of the code is tested as possible. Mock-out any external function calls. | The minimum criteria will be checked by the common tests (>=70% coverage, no outside dependencies, unit and integration test files present) |
Examples are complete and useful |
|
Go through each exported function and make sure there is an example that shows how to use it. There should be examples that don't have any outside dependencies so users can easily run them as well as real-world examples that more extensively show the functionality of the module. Any example that has outside dependencies must be included in a sub folder of the module. | Modules will be checked to ensure an Examples folder and at least one example file are present. The examples will be checked for PSSA errors and the simple examples will be checked to make sure there are no outside dependencies. |
Module is well-documented and free of commented out code and TODOs |
|
Each time the module is updated, the version must also be updated and include comments on the changes. | There will be a check that a README.md file exists, but the clarity, completeness, and cleanliness of this document will need to be manually reviewed. |
The module follows a set uniform folder and file format |
|
Ensure this format is followed | There will be a test to check to make sure the module follows this folder format |
Module does not require git to use |
|
Ensure that git is not necessary anywhere in the code | There will be a test for this - if git commands are used anywhere then they will be flagged for review - in some instances it is okay as long as it's not necessary to run the module |
There is no 'x' in front of the module name |
|
Name the module as per the final naming guidelines | The general format of the name will be checked as one of the common tests |
The module follows DSC Resource Kit Style Guidelines |
|
Follow these guidelines | The rules that can be easily tested will be in the common tests or added as PSSA rules, others will need to be manually checked |