Thank you for interest in this repository.
- Keep solutions and tests in standard Maven structure.
- Prefer clear, deterministic, and reproducible examples.
- Keep production code in
src/main/javaand tests insrc/test/javawhere possible. - Preserve existing algorithmic approach when refactoring, and add comments for non-obvious logic.
- Fork or branch from
main. - Implement changes with focused commits.
- Run:
mvn -B verify mvn -B test -Dtest='quality.SmokeSuite'
- Open a pull request with:
- summary of behavior changes,
- test coverage impact,
- risk notes if any logic is touched.
- Keep the suite coverage clear:
- smoke/unit:
mvn -B test -Dtest='quality.SmokeSuite' - integration:
mvn -B test -Dtest='quality.IntegrationSuite' - property:
mvn -B test -Dtest='quality.PropertySuite'
- smoke/unit:
- Java 17-compatible code.
- Keep test names readable and explicit.
- Add or adapt tests for any behavior change.
- Keep at least one unit-level test for touched classes.
- Add/extend integration tests for
transactionswhen stateful behavior changes. - If you add property behavior, include
@Propertytests with invariant checks.
mvn -B verifyruns the full quality stack: tests, coverage, checkstyle, PMD and SpotBugs.- CI enforces reproducible builds on Java 17 and 21.
- Prefer explicit comments for non-obvious logic in complex methods.
- If you touch static API in a kata class, keep test names meaningful and deterministic.