Please use this identifier to cite or link to this item: http://repositorio.ufc.br/handle/riufc/76479
Type: TCC
Title: Detecção de code smells em aplicações React.js com TypeScript
Authors: Nunes, Maykon Glêdson da Silva
Advisor: Bezerra, Carla Ilane Moreira
Keywords in Brazilian Portuguese : React (JavaScript);TypeScript;Code smell;Desenvolvimento web
Knowledge Areas - CNPq: CNPQ: CIENCIAS EXATAS E DA TERRA: CIENCIA DA COMPUTACAO: METODOLOGIA E TECNICAS DA COMPUTACAO: SISTEMAS DE INFORMACAO
Issue Date: 2023
Citation: NUNES, Maykon Glêdson da Silva. Detecção de code smells em aplicações React.js com TypeScript. 2023. 78 f. Trabalho de Conclusão de Curso (graduação) – Universidade Federal do Ceará, Campus de Quixadá, Curso de Sistemas de Informação, Quixadá, 2023.
Abstract in Brazilian Portuguese: Code smells são partes do código com potencial para o surgimento de problemas. Eles são gerados por procedimentos problemáticos adotados durante o design do software ou más práticas de programação. Ainda que os code smells tenham sido explorados em diversos trabalhos, eles são mais frequentemente voltados aos anti-padrões tradicionais da linguagem Java, tendo uma ausência de estudos destinados ao ecossistema JavaScript e as aplicações web. Nos últimos anos, o React tornou-se uma biblioteca popular no desenvolvimento de interfaces web e, mais recentemente, os desenvolvedores passaram a utilizar o TypeScript, um superset que adiciona tipagem estática ao JavaScript, juntamente com o React. O objetivo da presente pesquisa é identificar os code smells mais comuns no desenvolvimento de interfaces com a biblioteca React e a linguagem TypeScript e analisar como os desenvolvedores avaliam esses smells quanto a frequência e impacto negativo no código. Além disso, fornecer uma forma de identificar esses problemas através da ferramenta ReactSniffer. Primeiramente, aplicamos uma revisão da literatura cinzenta, buscando encontrar esses smells. Posteriormente, entrevistamos desenvolvedores e realizamos uma survey nas comunidades React. Depois estendemos o ReactSniffer para detectar os smells catalogados e o avaliamos com o Modelo de Aceitação Tecnológica (Technology Acceptance Model — TAM). Como resultado, identificamos 6 code smells na revisão da literatura cinzenta. Nas entrevistas e survey, identificamos que os smells Any Type, Multiple Booleans for State e Non-Null Assertions são os mais prejudiciais e frequentes. Todos os smells foram adicionados ao ReactSniffer e validamos a ferramenta com estudantes da UFC do Campus de Quixadá, onde observamos que a ferramenta é útil e fácil de se utilizar.
Abstract: Code smells are parts of the code with the potential to lead to problems. They arise from problematic procedures adopted during software design or poor practices on programming. Although code smells have been explored in various studies, they are more frequently focused on the traditional anti-patterns of the Java language, with a lack of studies dedicated to the JavaScript ecosystem and web applications. In recent years, React has become a popular library in web interface development, and more recently, developers have started using TypeScript, a superset that adds static typing to JavaScript, in conjunction with React. This research aims to identify the most common smells in the development of interfaces using the React library and TypeScript language, and to analyze how developers assess these smells in terms of frequency and negative impact on the code. Additionally, we aim to provide a way to identify these issues through the ReactSniffer tool. Initially, we conducted a grey literature review to identify these smells. Subsequently, we interviewed developers and conducted a survey within the React communities. Then, we extended ReactSniffer to detect the cataloged smells and evaluated it using the Technology Acceptance Model (TAM). As a result, we identified 6 code smells in the grey literature review. In interviews and surveys, we found that the Any Type, Multiple Booleans for State, and Non-Null Assertions smells are the most detrimental and frequent. All the smells were added to ReactSniffer, and we validated the tool with students from UFC Campus Quixadá, where we observed that the tool is useful and easy to use.
URI: http://repositorio.ufc.br/handle/riufc/76479
Advisor's Lattes: http://lattes.cnpq.br/4277471687235814
Access Rights: Acesso Aberto
Appears in Collections:SISTEMAS DE INFORMAÇÃO - QUIXADÁ - TCC

Files in This Item:
File Description SizeFormat 
2023_tcc_mgsnunes.pdf792,29 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.