SOFTWARE MAINTENANCE: TOOLS THAT HELP AND GUARANTEE QUALITY
Abstract
The principles of software maintenance are one of the pillars when it comes to quality. This work aims to present some tools available in the software development scenario (Super-linter and SpotlessCheck), to help the developer to write a good code in the best way and consequently guarantee the final quality of the project. The choice and use of a pipeline is due to the possibility of creating a series of steps to be carried out, which makes the process dynamic. The CI/CD methodology was used, which facilitates the constant deliveries made by the developers. Because the test project is hosted in a GitHub repository, GitHub Actions was the platform chosen for the pipeline, where it is possible to create workflows using CI/CD. Lint tools were used in this process in order to scan the code in order to flag stylistic errors and suspicious constructions, as well as the use of SpotlessCheck, to deepen the code scan, with the objective of issuing reports about bugs, duplications and a few more quality indicators. The hypothesis is that the entire process executed in the pipeline helps to ensure greater project maintainability.
Author Biographies
Universidade de Araraquara - UNIARA
Â
Universidade de Araraquara - UNIARA
References
BEHFOROOZ, A.; HUDSON, F. Software engineering fundamentals. New York: Oxford University Press,1996.
CORDEIRO, A.M. Manutenibilidade de Software. DisponÃvel em: http://www.batebyte.pr.gov.br/Pagina/Manutenibilidade-de-Software Acesso em: 10 abr.2022.
DIFFPLUG. Spotless plugin for Gradle. DisponÃvel em: https://github.com/diffplug/spotless/blob/main/plugin-gradle/README.md Acesso em: 18 nov. 2022.
ENGHOLM JUNIOR, H. Engenharia de Software na Prática. Novatec Editora Ltda, 2010.
EVANS DATA CORPORATION. Worldwide Professional Developer Population of 24 Million Projected to Grow amid Shifting Geographical Concentrations. DisponÃvel em: https://evansdata.com/press/viewRelease.php?pressID=278 Acesso em: 10 mai. 2022.
GITHUB ACTIONS. Entendendo o GitHub Actions. DisponÃvel em: https://docs.github.com/pt/actions/learn-github-actions/understanding-github-actions Acesso em: 15 mai. 2022.
GITHUB. Super-linter. DisponÃvel em: https://github.com/github/super-linter Acesso em: 18 nov. 2022.
GRADLE. Gradle User Manual. DisponÃvel em: https://docs.gradle.org/current/userguide/userguide.html Acesso em: 15 mai. 2022.
HNZ. Gradle: saiba o que é e como utilizar. DisponÃvel em: https://hnz.com.br/gradle-saiba-o-que-e-e-como-utilizar/ Acesso em: 15 mai. 2022.
MARTIN, C. R. Clean Code: A handbook of Agile Software Craftsmanship. Pearson Education,2009.
PRESSMAN, R. S. Engenharia de Software. 3. ed. São Paulo: Makron Books, 1995.
REDHAT. Pipilenes de CI/CD. DisponÃvel em: https://www.redhat.com/pt-br/topics/devops/what-cicd-pipeline Acesso em: 22 mai. 2022.
REDHAT. CI/CD: integração e entrega contÃnuas. DisponÃvel em: https://www.redhat.com/pt-br/topics/devops/what-is-ci-cd Acesso em: 22 mai. 2022.
REDHAT. Introdução ao DevOps. DisponÃvel em: https://www.redhat.com/pt-br/topics/devops Acesso em: 22 mai. 2022.
SONARQUBE. About Sonarqube. DisponÃvel em: https://www.sonarqube.org/about/ Acesso em: 26 abr. 2022.
STACK OVERFLOW. Developer Survey Results 2019. DisponÃvel em: https://insights.stackoverflow.com/survey/2019#work-_-code-review Acesso em: 08 nov. 2022.
SOMMERVILLE, I. Engenharia de Software. 9. ed. Pearson Education Brasil, 2011.
VALENTE, M. T. Engenharia de Software Moderna. Independente, 2013.
VISSER, J. Building Maintainable Software: Ten Guidelines for Future-Proof Code. O’Reilly Media, Inc, 2016.
