Use este identificador para citar ou linkar para este item: http://repositorio.ufc.br/handle/riufc/76479
Tipo: TCC
Título: Detecção de code smells em aplicações React.js com TypeScript
Autor(es): Nunes, Maykon Glêdson da Silva
Orientador: Bezerra, Carla Ilane Moreira
Palavras-chave em português: React (JavaScript);TypeScript;Code smell;Desenvolvimento web
CNPq: CNPQ: CIENCIAS EXATAS E DA TERRA: CIENCIA DA COMPUTACAO: METODOLOGIA E TECNICAS DA COMPUTACAO: SISTEMAS DE INFORMACAO
Data do documento: 2023
Citação: 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.
Resumo: 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
Currículo Lattes do Orientador: http://lattes.cnpq.br/4277471687235814
Tipo de Acesso: Acesso Aberto
Aparece nas coleções:SISTEMAS DE INFORMAÇÃO - QUIXADÁ - TCC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
2023_tcc_mgsnunes.pdf792,29 kBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.