Code quality - Delft-FEWS
Asset Publisher
Code quality
13 January 2023
Update 2022:
Attention for code quality is reaching a business as usual aspect of ‘daily development’ activities of the Delft-FEWS team. During daily stand-ups the SonarQube dashboard is reviewed and WIKI pages with our update and upgrade strategy are maintained. The SonarQube dashboard monitoring our committed code (since May 2020) is kept in a “all-green” status as much as possible. Third party library jar upgrades are taking place regularly and are monitored using dedicated JIRA placeholders. Around releases and around the creation of the ‘new trunk’, extra attention is paid to these code quality aspects. In 2022 the overall unit-test coverage % has grown. Two packages - Master Controller and Open Archive - have grown substantially (around 5%) due to extra attention by the developers of these components. Review steps have been added to our JIRA screens about the new features.
--------------------------------------------------
Plan 2022
Our code quality is constantly monitored using SonarQube and all code commits are checked against the latest java coding rules. Automated tests using the latest (Docker) technology are part of our stack now and in 2022 we continue the pilot for a complete DevOps pipeline. We expect that this will pave the path towards a more DevOps (CI/CD) approach for more Delft-FEWS components.
We are intensifying the use of the SonarQube tool and will select packages to focus on to reach the (self-imposed) target for a minimum code coverage / unit-tests coverage of 80%.
Besides that we will actively maintain the (newly structured) Delft-FEWS hard and software requirements page and will launch a Delft-FEWS update strategy page. The latter contains an overview of all supported versions of relevant operating systems, database types and third-party libraries, java and middleware like Tomcat per Delft-FEWS version and by when this will change.
Expected effort in 2022: ±40 days
Main contact for this roadmap theme is: Gerben Boot
--------------------------------------------------
Update 2021
Our code quality is monitored using SonarQube and all code commits are checked against the latest java coding rules. Automated tests using the latest (Docker) technology are part of our stack now and a pilot for a complete DevOps pipeline has been set-up.
--------------------------------------------------
We are improving our code quality by adopting a special method for evaluating the delivered code results and implementing supporting tools to evaluate our code on a daily basis. As a follow-up to the advice of an external review of our software code to improve the modularity of the codebase, we will start with the three most intensively used modules in 2021.
