Virto Commerce Module Quality Checklist for Developers

Primary proposal of this checklist help developers to improve the quality of Virto Commerce Modules and Solutions.

Implementation

  1. Use csharp.md .
  2. Use gitcommits.md.
  3. Use VC Platform v3 module samples and best practices
  4. Control the Single Responsibility Principle.
  5. No Breaking Changes in REST API.
  6. No Breaking Changes in Public Interfaces and Domain Models.
  7. No Breaking Changes on DB level.
  8. Add Unit tests. So, another developer can test the module without the platform.
  9. For modules that could be extended - follow the extensibility principles: Extensibility basics. The domain model and persistence layer extension

Before Pull Request

  1. Check and Fix Code Style: SonarQube errors and warning.
  2. Check the list of dependencies from other modules. Warning: IF we add a new dependency and increase complexity.
  3. Update module.ignore to prevent adding Common Assemblies to release.
  4. Check that the module uses the actual versions of 3rd party shared components. TODO: Define the list, versions and how to keep up to date (Every sprint/month).
  5. Increase assemblies and module version.
  6. Update module manifest.

Pull Request

  1. [AUTO-BLOCK] Compare Swagger Schema to find breaking changes.
  2. [AUTO-BLOCK] Run SonarQube Tests
  3. [AUTO-BLOCK] Run Unit Tests

Release

  1. Release Nuget package
  2. Delivery the release package to GitHub with release notes.