MANUTENIBILIDADE DE SOFTWARE: FERRAMENTAS QUE AUXILIAM E GARANTEM A QUALIDADE
Resumo
Os princípios da manutenção de software são um dos pilares no que se diz respeito a qualidade. Este trabalho tem como objetivo apresentar algumas ferramentas disponíveis no cenário de desenvolvimento de software (Super-linter e SpotlessCheck), para auxiliar o desenvolvedor a escrever da melhor forma um bom código e consequentemente garantir a qualidade final do projeto. A escolha e o uso de um pipeline se dá pela possibilidade de criar uma série de etapas a serem realizadas, o que torna o processo dinâmico. Foi utilizada a metodologia CI/CD que facilita as constantes entregas realizadas pelos desenvolvedores. Pelo fato de o projeto teste estar hospedado em um repositório do GitHub, o GitHub Actions foi a plataforma escolhida para a pipeline, onde é possível a criação de fluxos de trabalho utilizando CI/CD. Ferramentas de lint foram usadas nesse processo com o intuito de realizar uma varredura no código a fim de sinalizar erros estilísticos e construções suspeitas, bem como o uso do SpotlessCheck, para aprofundar a varredura do código, com o objetivo de emitir relatórios a respeito de bugs, duplicações e mais alguns indicativos de qualidade. A hipotese é que todo o processo executado no pipeline ajuda a garantir a maior manutenibilidade do projeto.
Biografia do Autor
Universidade de Araraquara - UNIARA
Universidade de Araraquara - UNIARA
Referências
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.
