diff --git a/content/Developers_Handbook/Code_Quality/_index.md b/content/Developers_Handbook/Code_Quality/_index.md index a0da8d0..2d601b9 100644 --- a/content/Developers_Handbook/Code_Quality/_index.md +++ b/content/Developers_Handbook/Code_Quality/_index.md @@ -2,6 +2,44 @@ title: Code quality weight: 6 --- -We use [SonarCloud](https://sonarcloud.io) to monitor code quality, including test coverage. -First and foremost code quality analysis is a tool for code review. In the following pages you will find a brief discussion on what we consider important aspects of quality when doing a review. +Code quality is a measure of how well the code is written, how well it is structured, how well it is documented, how well it is tested, how well it is reviewed, and how well it is maintained. + +Code quality can be divided into the following categories: + +- Code style/structure +- Coverage (testing) +- Security + +## Code style/structure +Code style and structure are important for readability, maintainability, and collaboration. We use IDE plugins and linters to enforce code style and structure. + +We use the following tools: + +- ESLint for JavaScript/Typescript +- Prettier for JavaScript/Typescript +- Intellij IDEA for Java/Kotlin +- Black for Python +- MyPy for Python + +## Coverage (testing) +Code coverage is a measure of how much of the code is tested. We aim for 100% code coverage. + +We use the following tools: + +- Codecov (not supported for Rust) +- Jacoco for Java/Kotlin +- Coverage.py for Python +- Pytest-cov for Python + +## Security +Security is important for protecting the system and the data. We use security tools to scan the code for vulnerabilities. + +We use the following tools: + +- Dependabot +- Pip-audit for Python +- Npm-audit for JavaScript/Typescript +- Github Security Alerts (CodeQL, Dependabot) +- Synopsys Polaris (DAST) +- Trivy for Docker images