Please use this identifier to cite or link to this item:
http://repositorio.ufc.br/handle/riufc/74644
Type: | TCC |
Title: | Investigando o impacto dos code smells na manutenibilidade de aplicações JavaScript e TypeScript |
Authors: | Ferreira, Pedro Augusto de Castro |
Advisor: | Bezerra, Carla Ilane Moreira |
Keywords in Brazilian Portuguese : | Code smell;JavaScript (Linguagem de programação de computador);TypeScript;Manutenibilidade |
Keywords in English : | Code smell;JavaScript;TypeScript;Maintainability |
Knowledge Areas - CNPq: | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
Issue Date: | 2023 |
Citation: | FERREIRA, Pedro Augusto de Castro. Investigando o impacto dos code smells na manutenibilidade de aplicações JavaScript e TypeScript. 2023. 48 f. Trabalho de Conclusão de Curso (graduação) – Universidade Federal do Ceará, Campus de Quixadá, Curso de Engenharia de Software, Quixadá, 2023. |
Abstract in Brazilian Portuguese: | Em um cenário tecnológico em constante evolução, a manutenibilidade de sistemas de software se tornou um fator crítico para o sucesso a longo prazo de qualquer projeto. Principalmente no contexto de desenvolvimento web, onde linguagens como JavaScript e TypeScript desempenham um papel fundamental na criação dessas aplicações. Neste contexto, os code smells são vistos como ameaça a manutenibilidade e implicam na necessidade de refatoração dos sistemas. Este trabalho avalia a manutenibilidade e o impacto dos code smells em projetos que usam as linguagens de programação JavaScript e TypeScript. Para a realização deste estudo, dez projetos JavaScript e dez projetos TypeScript foram selecionados através da API do Github. Foram coletados e analisados os code smells dos projetos selecionados utilizando a ferramenta Embold e realizada a coleta de métricas de manutenibilidade utilizando a ferramenta Understand. A partir desses dados, foram obtidos os seguintes resultados: (i) a complexidade para detectar code smells é maior em projetos JavaScript; (ii) os code smells Nested Callback, Shotgun Surgery e Message Chain foram detectados; (iii) a base de código e a taxa de comentários dos projetos JavaScript é sempre maior em relação aos projetos TypeScript; (iv) projetos JavaScript são mais complexos em relação aos projetos TypeScript; (v) a densidade de code smells indicou uma pontuação melhor para os projetos JavaScript. Constatou-se que os projetos TypeScript são melhor estruturados e menos complexos em relação aos projetos JavaScript. Apesar disso, concluiu-se que a escolha isolada de utilizar TypeScript não garante bons índices de manutenibilidade e code smells. |
Abstract: | In a constantly evolving technological scenario, the maintainability of software systems has become a critical factor in the long-term success of any project. Mainly in context of web development, where languages like JavaScript and TypeScript play a key role in creating these applications. In this context, code smells are seen as a threat to maintainability and imply the need to refactor the systems. This study evaluates the maintainability and the impact of code smells in projects that use the JavaScript and TypeScript programming languages. For the realization of this study, ten projects JavaScript and ten TypeScript projects were selected via the Github API. They were collected and analyzed the code smells of the selected projects using the Embold tool and the collection of maintainability metrics was carried out using the Understand tool. From these data, the following results were obtained: (i) the complexity to detect code smells it is larger in JavaScript projects; (ii) the Nested Callback, Shotgun Surgery and Message code smells Chain were detected; (iii) the codebase and comment rate of JavaScript projects is always bigger compared to TypeScript projects; (iv) JavaScript projects are more complex in relation to TypeScript projects; (v) code smells density indicated a better score for JavaScript projects. It was found that TypeScript projects are better structured and less complex compared to JavaScript projects. Despite this, it was concluded that the choice isolated from using TypeScript does not guarantee good maintainability rates and code smells. |
URI: | http://repositorio.ufc.br/handle/riufc/74644 |
Advisor's Lattes: | http://lattes.cnpq.br/4277471687235814 |
Access Rights: | Acesso Aberto |
Appears in Collections: | ENGENHARIA DE SOFTWARE - QUIXADÁ - TCC |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
2023_tcc_padecferreira.pdf | 1,92 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.