Primary proposal of this checklist help developers to improve the quality of Virto Commerce Modules and Solutions.
Implementation
- Use csharp.md .
- Use gitcommits.md.
- Use VC Platform v3 module samples and best practices
- Control the Single Responsibility Principle.
- No Breaking Changes in REST API.
- No Breaking Changes in Public Interfaces and Domain Models.
- No Breaking Changes on DB level.
- Add Unit tests. So, another developer can test the module without the platform.
- For modules that could be extended - follow the extensibility principles: Extensibility basics. The domain model and persistence layer extension
Before Pull Request
- Check and Fix Code Style: SonarQube errors and warning.
- Check the list of dependencies from other modules. Warning: IF we add a new dependency and increase complexity.
- Update module.ignore to prevent adding Common Assemblies to release.
- 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).
- Increase assemblies and module version.
- Update module manifest.
Pull Request
- [AUTO-BLOCK] Compare Swagger Schema to find breaking changes.
- [AUTO-BLOCK] Run SonarQube Tests
- [AUTO-BLOCK] Run Unit Tests
Release
- Release Nuget package
- Delivery the release package to GitHub with release notes.